mm/slab.c: use list_for_each_entry in cache_flusharray
authorGeliang Tang <geliangtang@163.com>
Thu, 14 Jan 2016 23:17:59 +0000 (15:17 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 15 Jan 2016 00:00:49 +0000 (16:00 -0800)
Simplify the code with list_for_each_entry().

Signed-off-by: Geliang Tang <geliangtang@163.com>
Acked-by: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/slab.c

index 6bb0466..5d5aa3b 100644 (file)
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -3338,17 +3338,12 @@ free_done:
 #if STATS
        {
                int i = 0;
-               struct list_head *p;
-
-               p = n->slabs_free.next;
-               while (p != &(n->slabs_free)) {
-                       struct page *page;
+               struct page *page;
 
-                       page = list_entry(p, struct page, lru);
+               list_for_each_entry(page, &n->slabs_free, lru) {
                        BUG_ON(page->active);
 
                        i++;
-                       p = p->next;
                }
                STATS_SET_FREEABLE(cachep, i);
        }