aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/slub_def.h
diff options
context:
space:
mode:
authorChristoph Lameter <cl@linux.com>2011-06-01 12:25:48 -0500
committerPekka Enberg <penberg@kernel.org>2011-07-02 13:26:53 +0300
commitfc9bb8c768abe7ae10861c3510e01a95f98d5933 (patch)
treeb338a0c4e5673c4005898cf6f54270a6de9db399 /include/linux/slub_def.h
parentslub: Move page->frozen handling near where the page->freelist handling occurs (diff)
downloadlinux-dev-fc9bb8c768abe7ae10861c3510e01a95f98d5933.tar.xz
linux-dev-fc9bb8c768abe7ae10861c3510e01a95f98d5933.zip
mm: Rearrange struct page
We need to be able to use cmpxchg_double on the freelist and object count field in struct page. Rearrange the fields in struct page according to doubleword entities so that the freelist pointer comes before the counters. Do the rearranging with a future in mind where we use more doubleword atomics to avoid locking of updates to flags/mapping or lru pointers. Create another union to allow access to counters in struct page as a single unsigned long value. The doublewords must be properly aligned for cmpxchg_double to work. Sadly this increases the size of page struct by one word on some architectures. But as a resultpage structs are now cacheline aligned on x86_64. Signed-off-by: Christoph Lameter <cl@linux.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'include/linux/slub_def.h')
0 files changed, 0 insertions, 0 deletions