Commit 14669347 authored by Geliang Tang's avatar Geliang Tang Committed by Linus Torvalds

mm, thp: use list_first_entry_or_null()

Simplify the code with list_first_entry_or_null().
Signed-off-by: default avatarGeliang Tang <geliangtang@163.com>
Acked-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 8cee852e
...@@ -176,13 +176,10 @@ pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp) ...@@ -176,13 +176,10 @@ pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp)
/* FIFO */ /* FIFO */
pgtable = pmd_huge_pte(mm, pmdp); pgtable = pmd_huge_pte(mm, pmdp);
if (list_empty(&pgtable->lru)) pmd_huge_pte(mm, pmdp) = list_first_entry_or_null(&pgtable->lru,
pmd_huge_pte(mm, pmdp) = NULL; struct page, lru);
else { if (pmd_huge_pte(mm, pmdp))
pmd_huge_pte(mm, pmdp) = list_entry(pgtable->lru.next,
struct page, lru);
list_del(&pgtable->lru); list_del(&pgtable->lru);
}
return pgtable; return pgtable;
} }
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment