Re: Hotplug CPU and setaffinity?

From: Dr. David Alan Gilbert
Date: Sun Apr 24 2005 - 07:36:53 EST

* Nathan Lynch (ntl@xxxxxxxxx) wrote:

Hi Nathan,
Thanks for the reply.

> Dr. David Alan Gilbert wrote:
> >
> > I got to wondering how Hotplug CPU and sched_setaffinity interact;
> > if I have a process that has its affinity set to one CPU and some
> > nasty person comes along and unplugs it what happens to that process-
> > does it get scheduled onto another cpu, just not get any time or
> > die ?
> The affinity of the process is reset to the default and it is migrated
> to another cpu, for better or worse. The kernel assumes the admin
> know what he/she is doing.

Yeh that's ok - is there anything that would hotplug a cpu
automatically; say on receiving some MCEs ; and thus not
give the admin a look in.

> > In particular I was thinking of the cases where a thread has a
> > functional reason for remaining on one particular CPU (e.g. if you
> > had calibrated for some feature of that CPU say its time stamp
> > counter skew/speed). Another case would be a set of threads which
> > had set their affinity to the same CPU and then made memory
> > consistency or locking assumptions that wouldn't be valid
> > if they got rescheduled onto different CPUs.
> Yeah. But I don't think this is an issue to be solved in the kernel.
> Applications that are this sensitive to cpu hotplugging need to
> arrange to be notified before the hotplug occurs, which I think would
> be best done with dbus or some other IPC.

Agreed; since the kernel will reset it to the default affinity then
this involvement must happen before the hotplug, if the kernel were
to stop scheduling them anywhere then this is something that could
be fixed up externally to the app by a hotplug type of thing after
the hot un-plug happened.

-----Open up your eyes, open up your mind, open up your code -------
/ Dr. David Alan Gilbert | Running GNU/Linux on Alpha,68K| Happy \
\ gro.gilbert @ | MIPS,x86,ARM,SPARC,PPC & HPPA | In Hex /
\ _________________________|_____ |_______/
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at