From: Oleg Nesterov <oleg@redhat.com>
To: Gautham R Shenoy <ego@in.ibm.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>,
linux-kernel@vger.kernel.org, travis@sgi.com,
Ingo Molnar <mingo@elte.hu>,
Srivatsa Vaddagiri <vatsa@in.ibm.com>
Subject: Re: [PATCH 1/7] work_on_cpu: helper for doing task on a CPU.
Date: Fri, 24 Oct 2008 16:23:59 +0200 [thread overview]
Message-ID: <20081024142359.GA20433@redhat.com> (raw)
In-Reply-To: <20081024134156.GA6045@in.ibm.com>
On 10/24, Gautham R Shenoy wrote:
>
> On Fri, Oct 24, 2008 at 03:25:09PM +0200, Oleg Nesterov wrote:
> >
> > If we add another wq for work_on_cpu(), then we add another hard-to-maintain
> > rule: get_online_cpus() must not be used by any work which can be queued
> > on that wq. And, yet another per-cpu thread...
>
> No, we don't have that rule!
>
> Because using Rusty's function with a seperate workqueue,
> we queue the work item as follows:
>
> get_online_cpus();
> queue_work_on(cpu, &on_each_cpu_wq, &wfc.work);
> flush_work(&wfc.work);
> put_online_cpus();
>
> The very fact that we've successfully queued the work-item means that
> no cpu-hotplug operation can occur till our work item finishes
> execution.
Ah yes, thanks for correcting me.
> Yes, we end up using additional resources in the form of another per-cpu
> threads. But is that so much of an issue?
Well, don't ask me... but the only reason why we need these threads
is that we want to make work_on_cpu() useable from cpu-hotplug path,
a bit strange ;)
Oleg.
next prev parent reply other threads:[~2008-10-24 14:23 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-23 16:55 [PATCH 1/7] work_on_cpu: helper for doing task on a CPU Rusty Russell
2008-10-23 7:22 ` Gautham R Shenoy
2008-10-23 9:40 ` Oleg Nesterov
2008-10-23 14:36 ` Gautham R Shenoy
2008-10-23 16:35 ` Oleg Nesterov
2008-10-23 17:02 ` do_boot_cpu can deadlock? Oleg Nesterov
2008-10-23 18:21 ` Gautham R Shenoy
2008-10-23 18:49 ` Cyrill Gorcunov
2008-10-24 9:33 ` Oleg Nesterov
2008-10-24 9:53 ` Gautham R Shenoy
2008-10-24 10:51 ` Oleg Nesterov
2008-10-24 3:04 ` [PATCH 1/7] work_on_cpu: helper for doing task on a CPU Rusty Russell
2008-10-24 7:21 ` Gautham R Shenoy
2008-10-24 10:29 ` Oleg Nesterov
2008-10-24 11:18 ` Rusty Russell
2008-10-24 11:40 ` Gautham R Shenoy
2008-10-24 13:25 ` Oleg Nesterov
2008-10-24 13:41 ` Gautham R Shenoy
2008-10-24 14:23 ` Oleg Nesterov [this message]
2008-10-23 15:10 ` Rusty Russell
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=20081024142359.GA20433@redhat.com \
--to=oleg@redhat.com \
--cc=ego@in.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rusty@rustcorp.com.au \
--cc=travis@sgi.com \
--cc=vatsa@in.ibm.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.