Re: [QUERY]: Is using CPU hotplug right for isolating CPUs?

From: Frederic Weisbecker
Date: Thu Jan 23 2014 - 09:01:27 EST


On Tue, Jan 21, 2014 at 03:19:36PM +0530, Viresh Kumar wrote:
> On 20 January 2014 21:11, Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:
> > But for workqueues having a global affinity, I think they can be rescheduled later
> > on the old CPUs. Although I'm not sure about that, I'm Cc'ing Tejun.
>
> Works queued on workqueues with WQ_UNBOUND flag set are run on any cpu
> and is decided by scheduler, whereas works queued on workqueues with this
> flag not set and without a cpu number mentioned while queuing work,
> runs on local
> CPU always.

Ok, so it is fine to migrate the latter kind I guess?

>
> > Also, one of the plan is to extend the sysfs interface of workqueues to override
> > their affinity. If any of you guys want to try something there, that would be welcome.
> > Also we want to work on the timer affinity. Perhaps we don't need a user interface
> > for that, or maybe something on top of full dynticks to outline that we want the unbound
> > timers to run on housekeeping CPUs only.
>
> What about a quiesce option as mentioned by PeterZ? With that we can move
> all UNBOUND timers and workqueues away. But to guarantee that we don't get
> them queued again later we need to make similar updates in workqueue/timer
> subsystem to disallow queuing any such stuff on such cpusets.

I haven't checked the details but then this quiesce option would involve
a dependency on cpuset for any workload involving workqueues affinity. I'm
not sure we really want this. Besides, workqueues have an existing sysfs interface
that can be easily extended.

Now indeed we may also want to enforce some policy to make sure that further
created and queued workqueues are affine to a specific subset of CPUs. And then
cpuset sounds like a good idea :)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/