On Thu, Aug 27, 2015 at 02:33:07PM +0530, Vineet Gupta wrote:
> +pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp)
> +{
> +     struct list_head *lh;
> +     pgtable_t pgtable;
> +     pte_t *ptep;
> +
> +     assert_spin_locked(&mm->page_table_lock);
> +
> +     pgtable = pmd_huge_pte(mm, pmdp);
> +     lh = (struct list_head *) pgtable;
> +     if (list_empty(lh))
> +             pmd_huge_pte(mm, pmdp) = (pgtable_t) NULL;
> +     else {
> +             pmd_huge_pte(mm, pmdp) = (pgtable_t) lh->next;
> +             list_del(lh);
> +     }
Side question: why pgtable_t is unsigned long on ARC and not struct page *
or pte_t *, like on other archs? We could avoid these casts.

-- 
 Kirill A. Shutemov
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to