From: Oleg Nesterov <oleg@tv-sign.ru>
To: Christoph Lameter <clameter@sgi.com>
Cc: Ingo Molnar <mingo@elte.hu>,
Srivatsa Vaddagiri <vatsa@in.ibm.com>,
"Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>,
Gautham shenoy <ego@in.ibm.com>, Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org
Subject: Re: slab: start_cpu_timer/cache_reap CONFIG_HOTPLUG_CPU problems
Date: Tue, 30 Jan 2007 01:14:08 +0300 [thread overview]
Message-ID: <20070129221408.GA269@tv-sign.ru> (raw)
In-Reply-To: <Pine.LNX.4.64.0701291346110.548@schroedinger.engr.sgi.com>
On 01/29, Christoph Lameter wrote:
>
> On Tue, 30 Jan 2007, Oleg Nesterov wrote:
>
> > Now we have 2 additional events, CPU_LOCK_ACQUIRE/CPU_LOCK_RELEASE,
> > so cpuup_callback() can use them to lock/unlock cache_chain_mutex,
> > but this is not related.
>
> Then we wont need to do the mutex_lock/unlock in CPU_DOWN_XX
> anymore, right? Which brings us to this form of the patch:
Yes, if CPU_LOCK_ACQUIRE takes cache_chain_mutex, we don't need to do so
on CPU_DOWN_PREPARE. I didn't know cpuup_callback() was already converted,
sorry for the confusion!
Note: with the patch below we are doing cancel_rearming_delayed_work()
under cache_chain_mutex. This is ok since cache_reap() does mutex_trylock(),
so deadlock is not possible. However, this means that mutex_trylock() becomes
mandatory for cache_reap(), probably a little comment will be good.
> Shutdown cache_reaper when cpu goes down
>
> Shutdown the cache_reaper in slab.c if the cpu is brought down
> and set the cache_reap.func to NULL. Otherwise hotplug shuts
> down the reaper for good.
>
> Signed-off-by: Christoph Lameter <clameter@sgi.com>
>
> Index: linux-2.6.20-rc6-mm2/mm/slab.c
> ===================================================================
> --- linux-2.6.20-rc6-mm2.orig/mm/slab.c 2007-01-29 14:27:34.199229828 -0600
> +++ linux-2.6.20-rc6-mm2/mm/slab.c 2007-01-29 15:47:18.293962726 -0600
> @@ -1271,6 +1271,14 @@ static int __cpuinit cpuup_callback(stru
> start_cpu_timer(cpu);
> break;
> #ifdef CONFIG_HOTPLUG_CPU
> + case CPU_DOWN_PREPARE:
> + /* Shutdown cache reaper */
> + cancel_rearming_delayed_work(&per_cpu(reap_work, cpu));
> + per_cpu(reap_work, cpu).work.func = NULL;
> + break;
> + case CPU_DOWN_FAILED:
> + start_cpu_timer(cpu);
> + break;
> case CPU_DEAD:
> /*
> * Even if all the cpus of a node are down, we don't free the
next prev parent reply other threads:[~2007-01-29 22:14 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-29 1:13 slab: start_cpu_timer/cache_reap CONFIG_HOTPLUG_CPU problems Oleg Nesterov
2007-01-29 16:54 ` Christoph Lameter
2007-01-29 17:19 ` Oleg Nesterov
2007-01-29 17:27 ` Christoph Lameter
2007-01-29 18:27 ` Oleg Nesterov
2007-01-29 19:09 ` Christoph Lameter
2007-01-29 19:29 ` Oleg Nesterov
2007-01-29 19:25 ` Christoph Lameter
2007-01-29 19:49 ` Oleg Nesterov
2007-01-29 20:29 ` Christoph Lameter
2007-01-29 21:05 ` Oleg Nesterov
2007-01-29 21:48 ` Christoph Lameter
2007-01-29 22:14 ` Oleg Nesterov [this message]
2007-02-20 18:39 ` Max Krasnyansky
2007-02-20 18:45 ` Christoph Lameter
2007-02-20 20:05 ` Oleg Nesterov
2007-02-20 21:22 ` Max Krasnyansky
2007-02-20 21:35 ` Christoph Lameter
2007-02-20 22:01 ` Max Krasnyansky
2007-02-20 22:14 ` Christoph Lameter
2007-02-20 22:48 ` SLAB cache reaper on isolated cpus Max Krasnyansky
2007-02-20 23:19 ` Christoph Lameter
2007-02-21 3:41 ` Max Krasnyansky
2007-02-20 21:05 ` slab: start_cpu_timer/cache_reap CONFIG_HOTPLUG_CPU problems Max Krasnyansky
2007-02-20 21:34 ` Christoph Lameter
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=20070129221408.GA269@tv-sign.ru \
--to=oleg@tv-sign.ru \
--cc=akpm@osdl.org \
--cc=clameter@sgi.com \
--cc=ego@in.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=vatsa@in.ibm.com \
--cc=venkatesh.pallipadi@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.