linux_dsm_epyc7002/include
Christoph Lameter 683d0baad3 SLUB: Use unique end pointer for each slab page.
We use a NULL pointer on freelists to signal that there are no more objects.
However the NULL pointers of all slabs match in contrast to the pointers to
the real objects which are in different ranges for different slab pages.

Change the end pointer to be a pointer to the first object and set bit 0.
Every slab will then have a different end pointer. This is necessary to ensure
that end markers can be matched to the source slab during cmpxchg_local.

Bring back the use of the mapping field by SLUB since we would otherwise have
to call a relatively expensive function page_address() in __slab_alloc().  Use
of the mapping field allows avoiding a call to page_address() in various other
functions as well.

There is no need to change the page_mapping() function since bit 0 is set on
the mapping as also for anonymous pages.  page_mapping(slab_page) will
therefore still return NULL although the mapping field is overloaded.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2008-02-07 17:47:41 -08:00
..
acpi Merge branches 'release' and 'fluff' into release 2008-02-07 03:38:22 -05:00
asm-alpha Add cmpxchg64 and cmpxchg64_local to alpha 2008-02-07 08:42:30 -08:00
asm-arm Add cmpxchg_local to arm 2008-02-07 08:42:31 -08:00
asm-avr32 Add cmpxchg_local to avr32 2008-02-07 08:42:31 -08:00
asm-blackfin Add cmpxchg_local to blackfin, replace __cmpxchg by generic cmpxchg 2008-02-07 08:42:31 -08:00
asm-cris Add cmpxchg_local to cris 2008-02-07 08:42:31 -08:00
asm-frv Add cmpxchg_local to frv 2008-02-07 08:42:32 -08:00
asm-generic Add cmpxchg_local to asm-generic for per cpu atomic operations 2008-02-07 08:42:30 -08:00
asm-h8300 Add cmpxchg_local to h8300 2008-02-07 08:42:32 -08:00
asm-ia64 Add cmpxchg_local, cmpxchg64 and cmpxchg64_local to ia64 2008-02-07 08:42:32 -08:00
asm-m32r local_t m32r use architecture specific cmpxchg_local 2008-02-07 08:42:32 -08:00
asm-m68k m68k: kill page walker compile warning 2008-02-07 09:10:06 -08:00
asm-m68knommu Add cmpxchg_local to m68knommu 2008-02-07 08:42:32 -08:00
asm-mips Add cmpxchg64 and cmpxchg64_local to mips 2008-02-07 08:42:30 -08:00
asm-parisc Add cmpxchg_local to parisc 2008-02-07 08:42:32 -08:00
asm-powerpc Merge branch 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-02-07 09:02:26 -08:00
asm-ppc Add cmpxchg_local to ppc 2008-02-07 08:42:32 -08:00
asm-s390 Add cmpxchg_local to s390 2008-02-07 08:42:32 -08:00
asm-sh Sanitize the type of struct user.u_ar0 2008-02-07 08:42:30 -08:00
asm-sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-02-07 10:21:26 -08:00
asm-sparc64 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-02-07 10:21:26 -08:00
asm-um uml: LDT mutex conversion 2008-02-05 09:44:31 -08:00
asm-v850 Add cmpxchg_local to v850 2008-02-07 08:42:33 -08:00
asm-x86 Add cmpxchg64 and cmpxchg64_local to x86_64 2008-02-07 08:42:31 -08:00
asm-xtensa Add cmpxchg_local to xtensa 2008-02-07 08:42:33 -08:00
crypto
keys
linux SLUB: Use unique end pointer for each slab page. 2008-02-07 17:47:41 -08:00
math-emu
media include/media/: Spelling fixes 2008-02-03 17:19:47 +02:00
mtd Merge git://git.infradead.org/~dedekind/ubi-2.6 2008-02-03 22:07:40 +11:00
net 9p: add support for sticky bit 2008-02-06 19:25:06 -06:00
pcmcia pcmcia: replace kio_addr_t with unsigned int everywhere 2008-02-05 09:44:08 -08:00
rdma
rxrpc
scsi include/scsi/: Spelling fixes 2008-02-03 17:47:00 +02:00
sound [ALSA] version 1.0.16rc2 2008-01-31 17:40:18 +01:00
video atmel_lcdfb: backlight control 2008-02-06 10:41:16 -08:00
xen x86: page.h: make pte_t a union to always include 2008-01-30 13:32:57 +01:00
Kbuild