From: Ravikiran G Thirumalai <kiran@scalex86.org>
To: linux-kernel@vger.kernel.org
Cc: Andrew Morton <akpm@osdl.org>,
Manfred Spraul <manfred@colorfullife.com>,
"Shai Fultheim (Shai@scalex86.org)" <shai@scalex86.org>,
Christoph Lameter <clameter@engr.sgi.com>,
Alok Kataria <alok.kataria@calsoftinc.com>,
sonny@burdell.org
Subject: [patch 0/3] NUMA slab locking fixes
Date: Fri, 3 Feb 2006 12:53:41 -0800 [thread overview]
Message-ID: <20060203205341.GC3653@localhost.localdomain> (raw)
There were some locking oddities in the NUMA slab allocator which broke cpu
hotplug. Here is a patchset to correct locking and also fix the
breakage with cpu hotplug Sonny Rao noticed on POWER5. We hit the bug
on POWER, but not on other arches because other arches failed to update
the node cpumasks when a cpu went down.
Following patches are included in the series:
1. slab-colour-next fix: Moves the slab colouring index from kmem_cache_t
to kmem_list3. Per node cache colouring makes sense, and also, we can now
avoid taking the cachep->spinlock in the alloc patch (cache_grow). Now, alloc
and free need not take cachep->spinlock and just need to take the respective
kmem_list3 locks.
2. slab-locking-irq-optimization: With patch 1, we don't need to disable
on chip interrupts while taking the cachep->spinlock. (We needed to disable
interrupts while taking cachep->spinlock earlier because alloc can happen
from interrupt context, and we had to take the cachep->lock to protect
color_next -- which is not the case now).
3. slab-hotplug-fix: Fix the cpu_down and cpu_up slab locking. When the last
cpu of a node goes down, cpu_down path used to free the shared array_cache,
alien array_cache and l3, with the kmem_list3 lock held, which resulted in
badness. This patch fixes the locking not to do that. Now we don't free
l3 on cpu_down (because there could be a request from other cpus to get
memory from the node going down, while the last cpu is going down). This
fixes the problem reported by Sonny Rao.
2.6.16-rc1mmm4 with the above patches ran successfully overnight on a 4 cpu 2
node amd tyan box, with 4 dbench processes running all the time and cpus
offlined and onlined in an infinite loop.
Thanks,
Kiran
next reply other threads:[~2006-02-03 20:53 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-03 20:53 Ravikiran G Thirumalai [this message]
2006-02-03 20:55 ` [patch 1/3] NUMA slab locking fixes -- slab-colour-next fix Ravikiran G Thirumalai
2006-02-03 20:56 ` [patch 2/3] NUMA slab locking fixes -- slab locking irq optimizations Ravikiran G Thirumalai
2006-02-03 20:57 ` [patch 3/3] NUMA slab locking fixes -- slab cpu hotplug fix Ravikiran G Thirumalai
2006-02-03 22:07 ` [patch 0/3] NUMA slab locking fixes Andrew Morton
2006-02-03 23:06 ` Christoph Lameter
2006-02-04 1:08 ` Ravikiran G Thirumalai
2006-02-04 1:15 ` [patch 1/3] NUMA slab locking fixes -- move color_next to l3 Ravikiran G Thirumalai
2006-02-04 1:22 ` [patch 0/3] NUMA slab locking fixes Andrew Morton
2006-02-04 1:28 ` [patch 2/3] NUMA slab locking fixes - move irq disabling from cahep->spinlock to l3 lock Ravikiran G Thirumalai
2006-02-04 9:48 ` Andrew Morton
2006-02-06 22:51 ` Ravikiran G Thirumalai
2006-02-06 23:30 ` Andrew Morton
2006-02-07 0:21 ` Christoph Lameter
2006-02-07 7:36 ` Pekka J Enberg
2006-02-07 7:50 ` Ravikiran G Thirumalai
2006-02-07 7:55 ` Pekka J Enberg
2006-02-04 1:29 ` [patch 3/3] NUMA slab locking fixes -- fix cpu down and up locking Ravikiran G Thirumalai
2006-02-04 10:03 ` Andrew Morton
2006-02-04 10:05 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060203205341.GC3653@localhost.localdomain \
--to=kiran@scalex86.org \
--cc=akpm@osdl.org \
--cc=alok.kataria@calsoftinc.com \
--cc=clameter@engr.sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=manfred@colorfullife.com \
--cc=shai@scalex86.org \
--cc=sonny@burdell.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox