Re: [PATCH 1/1] hotplug cpu: migrate a task within its cpuset

From: Rusty Russell
Date: Tue Aug 28 2007 - 13:23:17 EST


On Sun, 2007-08-26 at 01:09 -0700, Andrew Morton wrote:
> On Sun, 26 Aug 2007 10:47:24 +1000 Rusty Russell <rusty@xxxxxxxxxxxxxxx> wrote:
> > Userspace is not monolithic. If you refuse to take a CPU offline
> > because a task is affine, then any user can prevent a CPU from going
> > offline.
>
> That's a kernel bug.

You mean "would be if it were implemented"? Although consider the
equivalent forkbomb or thrashing userspace problems, where we just say
"use quotas".

Just to clarify: that is not how we work, we migrate tasks off a dying
CPU, breaking affinity and printing a warning if necessary.

It was simple and has not proven problematic in practice. (Userspace
cpu affinity has been a question of optimality not correctness)

> > You could, perhaps, introduce a "gentle" offline which fails if process
> > affinity can no longer be met.
>
> Suitably privileged userspace should be able to
>
> 1) prevent tasks from binding to CPU N then
> 2) migrate all tasks which can use CPU N over to other CPU(s) then
> 3) offline CPU N.

Indeed, (1) is missing. I would hesitate to introduce more
infrastructure in an under-worn and over-buggy part of the kernel
though.

Rusty.


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