Re: [RESEND PATCH 1/2] IRQ: use cpu_possible_mask rather thanonline_mask in setup_affinity

From: Sonny Rao
Date: Mon Oct 11 2010 - 15:48:56 EST


On Mon, Oct 11, 2010 at 08:48:25PM +0200, Peter Zijlstra wrote:
> On Wed, 2010-10-06 at 16:02 -0500, Sonny Rao wrote:
> > > > With user-driven dynamic SMT,
> > >
> > > What's that?
> >
> > Well, that is basically a feature where we can use CPU hotplug to
> > force a particular mode on an SMT (hardware multithreaded) processor
> >
> > The point here was really that on such multi-threaded processors -- which are
> > becoming more common -- cpu hotplug can potentially be used fairly
> > often.
>
> I guess you're talking about the trainwreck called power7? Where you
> want to force the thing into SMT1/2 mode instead of letting it degrade
> into SMT4 mode?

This is not really Power7 specific, People could do this on *any*
multi-threaded processor just to ensure all core resources get
dedicated to one thread. I've seen HPC users in particular do this
before.

> Why would you want to change that often? Do realize that cpu-hotplug is
> a very heavy, very expensive operation, doing it more than a few times
> an hour counts as excessive in my book.
>
> For RT I've been thinking of extending cpusets with a feature that
> allows you to disable things like SMT and MC on a set, ensuring you get
> no pipeline/cache interference.
>
> But this is something you setup once and then run your workload, its not
> something you'll change often (in fact, hotplugging cpus will utterly
> wreck your RT workload).

This is exactly what I'm talking about -- there are people who have
multi-threaded processors who want to run long-running batch jobs
and sometimes will want to change the SMT mode of the processor
without rebooting. CPU hotplug has been used in this manner for some
time. So it's not something that happens often, but it does happen.

> Also, I don't see why you would want to have interrupts with affinity to
> offline cpus only, that sounds plain wrong, an offline'd cpu is not able
> to deal with interrupts.
>
> I wish people would stop abusing hotplug as:
> - resource management
> - power management
> - other crazy ass things
>
> Its not suitable for those..

"resource management" is a rather broad term -- I think one of the
major use cases of cpu hotplug is in fact "resource management"
in the sense of a partition or guest VM needs more or less compute
resources. Multi-threaded processors are also doing a form of
resource management in that they're dividing (or not dividing) the
resources available to a core -- cache, pipelines, functional units,
etc.

If it's not suitable for "resource management" then why does it exist?

Sonny
--
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/