Messages in this thread Patch in this message | | | From | Geliang Tang <> | Subject | [PATCH] mm, thp: use list_first_entry_or_null() | Date | Wed, 18 Nov 2015 21:52:29 +0800 |
| |
Simplify the code with list_first_entry_or_null().
Signed-off-by: Geliang Tang <geliangtang@163.com> --- mm/pgtable-generic.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/mm/pgtable-generic.c b/mm/pgtable-generic.c index 69261d4..c311a2e 100644 --- a/mm/pgtable-generic.c +++ b/mm/pgtable-generic.c @@ -164,13 +164,10 @@ pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp) /* FIFO */ pgtable = pmd_huge_pte(mm, pmdp); - if (list_empty(&pgtable->lru)) - pmd_huge_pte(mm, pmdp) = NULL; - else { - pmd_huge_pte(mm, pmdp) = list_entry(pgtable->lru.next, - struct page, lru); + pmd_huge_pte(mm, pmdp) = list_first_entry_or_null(&pgtable->lru, + struct page, lru); + if (pmd_huge_pte(mm, pmdp)) list_del(&pgtable->lru); - } return pgtable; } #endif -- 2.5.0
| |