diff options
author | Dave Hansen <dave.hansen@linux.intel.com> | 2014-04-08 13:44:27 -0700 |
---|---|---|
committer | Pekka Enberg <penberg@kernel.org> | 2014-04-11 10:06:06 +0300 |
commit | 34bf6ef94a835a8f1d8abd3e7d38c6c08d205867 (patch) | |
tree | a5e285e441036ed1d78033192b7eaf74300f4984 /mm/slab.c | |
parent | 5f0985bb1123b48bbfc632006bdbe76d3dfea76b (diff) | |
download | lwn-34bf6ef94a835a8f1d8abd3e7d38c6c08d205867.tar.gz lwn-34bf6ef94a835a8f1d8abd3e7d38c6c08d205867.zip |
mm: slab/slub: use page->list consistently instead of page->lru
'struct page' has two list_head fields: 'lru' and 'list'. Conveniently,
they are unioned together. This means that code can use them
interchangably, which gets horribly confusing like with this nugget from
slab.c:
> list_del(&page->lru);
> if (page->active == cachep->num)
> list_add(&page->list, &n->slabs_full);
This patch makes the slab and slub code use page->lru universally instead
of mixing ->list and ->lru.
So, the new rule is: page->lru is what the you use if you want to keep
your page on a list. Don't like the fact that it's not called ->list?
Too bad.
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Acked-by: Christoph Lameter <cl@linux.com>
Acked-by: David Rientjes <rientjes@google.com>
Cc: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'mm/slab.c')
-rw-r--r-- | mm/slab.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/slab.c b/mm/slab.c index 8dd8e0875e4c..f6718197cdd0 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -2922,9 +2922,9 @@ retry: /* move slabp to correct slabp list: */ list_del(&page->lru); if (page->active == cachep->num) - list_add(&page->list, &n->slabs_full); + list_add(&page->lru, &n->slabs_full); else - list_add(&page->list, &n->slabs_partial); + list_add(&page->lru, &n->slabs_partial); } must_grow: |