<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/mm/slab.c, branch linux-2.6.24.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.24.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.24.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-04-19T01:53:20Z</updated>
<entry>
<title>slab: fix cache_cache bootstrap in kmem_cache_init()</title>
<updated>2008-04-19T01:53:20Z</updated>
<author>
<name>Daniel Yeisley</name>
</author>
<published>2008-03-26T21:37:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ce4039e002eab66502cd7d2cbcc6fcbdcbf828ee'/>
<id>urn:sha1:ce4039e002eab66502cd7d2cbcc6fcbdcbf828ee</id>
<content type='text'>
upstream commit: ec1f5eeeb5a79a0d48036de649a3498da42db565

Commit 556a169dab38b5100df6f4a45b655dddd3db94c1 ("slab: fix bootstrap on
memoryless node") introduced bootstrap-time cache_cache list3s for all nodes
but forgot that initkmem_list3 needs to be accessed by [somevalue + node]. This
patch fixes list_add() corruption in mm/slab.c seen on the ES7000.
 
Cc: Mel Gorman &lt;mel@csn.ul.ie&gt;
Cc: Olaf Hering &lt;olaf@aepfle.de&gt;
Signed-off-by: Dan Yeisley &lt;dan.yeisley@unisys.com&gt;
Signed-off-by: Pekka Enberg &lt;penberg@cs.helsinki.fi&gt;
Signed-off-by: Christoph Lameter &lt;clameter@sgi.com&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
</entry>
<entry>
<title>slab: NUMA slab allocator migration bugfix</title>
<updated>2008-03-24T18:48:36Z</updated>
<author>
<name>Joe Korty</name>
</author>
<published>2008-03-05T23:04:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0837aca7b42f1bc9cd8dc1cd4d10aa2aaddaf84d'/>
<id>urn:sha1:0837aca7b42f1bc9cd8dc1cd4d10aa2aaddaf84d</id>
<content type='text'>
NUMA slab allocator cpu migration bugfix

The NUMA slab allocator (specifically, cache_alloc_refill)
is not refreshing its local copies of what cpu and what
numa node it is on, when it drops and reacquires the irq
block that it inherited from its caller.  As a result
those values become invalid if an attempt to migrate the
process to another numa node occured while the irq block
had been dropped.

The solution is to make cache_alloc_refill reload these
variables whenever it drops and reacquires the irq block.

The error is very difficult to hit.  When it does occur,
one gets the following oops + stack traceback bits in
check_spinlock_acquired:

	kernel BUG at mm/slab.c:2417
	cache_alloc_refill+0xe6
	kmem_cache_alloc+0xd0
	...

This patch was developed against 2.6.23, ported to and
compiled-tested only against 2.6.25-rc4.

Signed-off-by: Joe Korty &lt;joe.korty@ccur.com&gt;
Signed-off-by: Christoph Lameter &lt;clameter@sgi.com&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
</entry>
<entry>
<title>slab: fix bootstrap on memoryless node</title>
<updated>2008-02-08T19:46:21Z</updated>
<author>
<name>Pekka J Enberg</name>
</author>
<published>2008-01-26T12:15:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f4ae0ab4b8237848ad5d687342a10cd3b7037705'/>
<id>urn:sha1:f4ae0ab4b8237848ad5d687342a10cd3b7037705</id>
<content type='text'>
[ Upstream commit: 556a169dab38b5100df6f4a45b655dddd3db94c1 ]

If the node we're booting on doesn't have memory, bootstrapping kmalloc()
caches resorts to fallback_alloc() which requires -&gt;nodelists set for all
nodes.  Fix that by calling set_up_list3s() for CACHE_CACHE in
kmem_cache_init().
    
As kmem_getpages() is called with GFP_THISNODE set, this used to work before
because of breakage in 2.6.22 and before with GFP_THISNODE returning pages from
the wrong node if a node had no memory. So it may have worked accidentally and
in an unsafe manner because the pages would have been associated with the wrong
node which could trigger bug ons and locking troubles.
    
Tested-by: Mel Gorman &lt;mel@csn.ul.ie&gt;
Tested-by: Olaf Hering &lt;olaf@aepfle.de&gt;
Reviewed-by: Christoph Lameter &lt;clameter@sgi.com&gt;
[ With additional one-liner by Olaf Hering  - Linus ]
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Pekka Enberg &lt;penberg@cs.helsinki.fi&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
</entry>
<entry>
<title>slab: partially revert list3 changes</title>
<updated>2008-01-24T16:07:27Z</updated>
<author>
<name>Mel Gorman</name>
</author>
<published>2008-01-24T13:49:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9c09a95cf431fcf5720f2e408befa24b32b8cf4d'/>
<id>urn:sha1:9c09a95cf431fcf5720f2e408befa24b32b8cf4d</id>
<content type='text'>
Partial revert the changes made by 04231b3002ac53f8a64a7bd142fde3fa4b6808c6
to the kmem_list3 management. On a machine with a memoryless node, this
BUG_ON was triggering

	static void *____cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid)
	{
		struct list_head *entry;
		struct slab *slabp;
		struct kmem_list3 *l3;
		void *obj;
		int x;

		l3 = cachep-&gt;nodelists[nodeid];
		BUG_ON(!l3);

Signed-off-by: Mel Gorman &lt;mel@csn.ul.ie&gt;
Cc: Pekka Enberg &lt;penberg@cs.helsinki.fi&gt;
Acked-by: Christoph Lameter &lt;clameter@sgi.com&gt;
Cc: "Aneesh Kumar K.V" &lt;aneesh.kumar@linux.vnet.ibm.com&gt;
Cc: Nishanth Aravamudan &lt;nacc@us.ibm.com&gt;
Cc: KAMEZAWA Hiroyuki &lt;kamezawa.hiroyu@jp.fujitsu.com&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Unify /proc/slabinfo configuration</title>
<updated>2008-01-02T21:04:48Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2008-01-02T21:04:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=158a962422e4a54dc256b6a9b9562f3d30d34d9c'/>
<id>urn:sha1:158a962422e4a54dc256b6a9b9562f3d30d34d9c</id>
<content type='text'>
Both SLUB and SLAB really did almost exactly the same thing for
/proc/slabinfo setup, using duplicate code and per-allocator #ifdef's.

This just creates a common CONFIG_SLABINFO that is enabled by both SLUB
and SLAB, and shares all the setup code.  Maybe SLOB will want this some
day too.

Reviewed-by: Pekka Enberg &lt;penberg@cs.helsinki.fi&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Add EXPORT_SYMBOL(ksize);</title>
<updated>2007-12-05T17:21:18Z</updated>
<author>
<name>Tetsuo Handa</name>
</author>
<published>2007-12-05T07:45:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f8fcc93319faa09272185af100fb24e71b02ab03'/>
<id>urn:sha1:f8fcc93319faa09272185af100fb24e71b02ab03</id>
<content type='text'>
mm/slub.c exports ksize(), but mm/slob.c and mm/slab.c don't.

It's used by binfmt_flat, which can be built as a module.

Signed-off-by: Tetsuo Handa &lt;penguin-kernel@I-love.SAKURA.ne.jp&gt;
Cc: Christoph Lameter &lt;clameter@sgi.com&gt;
Cc: Matt Mackall &lt;mpm@selenic.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Fix kmem_cache_free performance regression in slab</title>
<updated>2007-11-30T16:08:05Z</updated>
<author>
<name>Matthew Wilcox</name>
</author>
<published>2007-11-29T19:05:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=80cbd911ca25535f6bb66bbcbb98950ec328eb40'/>
<id>urn:sha1:80cbd911ca25535f6bb66bbcbb98950ec328eb40</id>
<content type='text'>
The database performance group have found that half the cycles spent
in kmem_cache_free are spent in this one call to BUG_ON.  Moving it
into the CONFIG_SLAB_DEBUG-only function cache_free_debugcheck() is a
performance win of almost 0.5% on their particular benchmark.

The call was added as part of commit ddc2e812d592457747c4367fb73edcaa8e1e49ff
with the comment that "overhead should be minimal".  It may have been
minimal at the time, but it isn't now.

[ Quoth Pekka Enberg: "I don't think the BUG_ON per se caused the
  performance regression but rather the virt_to_head_page() changes to
  virt_to_cache() that were added later." ]

Signed-off-by: Matthew Wilcox &lt;willy@linux.intel.com&gt;
Acked-by: Pekka J Enberg &lt;penberg@cs.helsinki.fi&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>slab: fix typo in allocation failure handling</title>
<updated>2007-11-15T02:45:36Z</updated>
<author>
<name>Akinobu Mita</name>
</author>
<published>2007-11-15T00:58:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cc550defe9790b495c96fafabc5a6528dc586f24'/>
<id>urn:sha1:cc550defe9790b495c96fafabc5a6528dc586f24</id>
<content type='text'>
This patch fixes wrong array index in allocation failure handling.

Cc: Pekka Enberg &lt;penberg@cs.helsinki.fi&gt;
Acked-by: Christoph Lameter &lt;clameter@sgi.com&gt;
Signed-off-by: Akinobu Mita &lt;akinobu.mita@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>spelling fixes: mm/</title>
<updated>2007-10-19T23:27:18Z</updated>
<author>
<name>Simon Arlott</name>
</author>
<published>2007-10-19T23:27:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=183ff22bb6bd8188c904ebfb479656ae52230b72'/>
<id>urn:sha1:183ff22bb6bd8188c904ebfb479656ae52230b72</id>
<content type='text'>
Spelling fixes in mm/.

Signed-off-by: Simon Arlott &lt;simon@fire.lp0.eu&gt;
Signed-off-by: Adrian Bunk &lt;bunk@kernel.org&gt;
</content>
</entry>
<entry>
<title>cpu hotplug: slab: fix memory leak in cpu hotplug error path</title>
<updated>2007-10-18T21:37:21Z</updated>
<author>
<name>Akinobu Mita</name>
</author>
<published>2007-10-18T10:05:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=12d00f6a121877235a5cacc56386936dd9bb81af'/>
<id>urn:sha1:12d00f6a121877235a5cacc56386936dd9bb81af</id>
<content type='text'>
This patch fixes memory leak in error path.

In reality, we don't need to call cpuup_canceled(cpu) for now.  But upcoming
cpu hotplug error handling change needs this.

Cc: Christoph Lameter &lt;clameter@sgi.com&gt;
Cc: Gautham R Shenoy &lt;ego@in.ibm.com&gt;
Acked-by: Pekka Enberg &lt;penberg@cs.helsinki.fi&gt;
Signed-off-by: Akinobu Mita &lt;akinobu.mita@gmail.com&gt;
Cc: Gautham R Shenoy &lt;ego@in.ibm.com&gt;
Cc: Oleg Nesterov &lt;oleg@tv-sign.ru&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
