Messages in this thread |  | | | Date | Tue, 4 Aug 2009 09:01:58 -0500 | | From | "Serge E. Hallyn" <> | | Subject | Re: [PATCH 6/6] Makes procs file writable to move all threads by tgid at once |
| |
Quoting Paul Menage (menage@google.com): > On Mon, Aug 3, 2009 at 12:45 PM, Serge E. Hallyn<serue@us.ibm.com> wrote: > > > > This is probably a stupid idea, but... what about having zero > > overhead at clone(), and instead, at cgroup_task_migrate(), > > dequeue_task()ing all of the affected threads for the duration of > > the migrate? > > That doesn't sound too unreasonable, actually - it would certainly > simplify things a fair bit. Is there a standard API for doing that? > dequeue_task() itself doesn't really look like a public API. I guess > that the task freezer would be one way to accomplish this?
Actually if we wanted to try to avoid -EINTRs for the tasks, which they get with the freezer, we might want to code our own helpers in sched.c based on dequeue_task(). Instead of interrupting ongoing system calls, we'll want to set a flag saying if the syscall exits (before we unset the flag) then dequeue it real quick.
> I can imagine that the set of people who'd complain about the latency > hit when migrating with your solution would be smaller than the people > who'd complain about the increased overhead in the normal clone case. > > Paul -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |