From: "Serge E. Hallyn" <serue@us.ibm.com>
To: Paul Menage <menage@google.com>
Cc: Benjamin Blum <bblum@google.com>,
containers@lists.linux-foundation.org,
linux-kernel@vger.kernel.org, akpm@linux-foundation.org
Subject: Re: [PATCH 6/6] Makes procs file writable to move all threads by tgid at once
Date: Tue, 4 Aug 2009 09:01:58 -0500 [thread overview]
Message-ID: <20090804140158.GA663@us.ibm.com> (raw)
In-Reply-To: <6599ad830908031255j68ce047x7165bfefa62ed53c@mail.gmail.com>
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
next prev parent reply other threads:[~2009-08-04 14:09 UTC|newest]
Thread overview: 100+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-31 1:51 [PATCH v2 0/6] CGroups: cgroup memberlist enhancement+fix Ben Blum
2009-07-31 1:51 ` [PATCH 1/6] Adds a read-only "procs" file similar to "tasks" that shows only unique tgids Ben Blum
[not found] ` <20090731012908.27908.62208.stgit-/yCBOHwbXCxd3OlUiQof+WCaruZE5nAUZeezCHUQhQ4@public.gmane.org>
2009-07-31 1:51 ` Ben Blum
2009-07-31 1:51 ` [PATCH 2/6] Ensures correct concurrent opening/reading of pidlists across pid namespaces Ben Blum
2009-07-31 1:51 ` [PATCH 3/6] Quick vmalloc vs kmalloc fix to the case where array size is too large Ben Blum
2009-07-31 1:51 ` Ben Blum
2009-07-31 1:51 ` [PATCH 4/6] Changes css_set freeing mechanism to be under RCU Ben Blum
2009-07-31 1:51 ` [PATCH 5/6] Lets ss->can_attach and ss->attach do whole threadgroups at a time Ben Blum
2009-07-31 1:51 ` [PATCH 6/6] Makes procs file writable to move all threads by tgid at once Ben Blum
2009-07-31 1:51 ` [PATCH 2/6] Ensures correct concurrent opening/reading of pidlists across pid namespaces Ben Blum
2009-07-31 1:51 ` [PATCH 4/6] Changes css_set freeing mechanism to be under RCU Ben Blum
2009-07-31 1:51 ` [PATCH 5/6] Lets ss->can_attach and ss->attach do whole threadgroups at a time Ben Blum
[not found] ` <20090731015149.27908.25403.stgit-/yCBOHwbXCxd3OlUiQof+WCaruZE5nAUZeezCHUQhQ4@public.gmane.org>
2009-08-03 2:22 ` Li Zefan
2009-08-03 2:22 ` Li Zefan
2009-08-04 0:35 ` Benjamin Blum
[not found] ` <4A7649E1.4000200-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-08-04 0:35 ` Benjamin Blum
2009-07-31 1:51 ` [PATCH 6/6] Makes procs file writable to move all threads by tgid at once Ben Blum
2009-08-03 3:00 ` Li Zefan
[not found] ` <4A7652E7.4020206-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-08-04 0:56 ` Benjamin Blum
2009-08-04 0:56 ` Benjamin Blum
[not found] ` <2f86c2480908031756j557e7aebmbf7951da6a1aadb0-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-04 1:05 ` Paul Menage
2009-08-04 1:09 ` Li Zefan
2009-08-04 1:09 ` Li Zefan
[not found] ` <4A778A49.6040302-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-08-04 1:19 ` Benjamin Blum
2009-08-04 1:19 ` Benjamin Blum
2009-08-04 1:45 ` Li Zefan
2009-08-04 1:55 ` Paul Menage
[not found] ` <4A7792C4.5010504-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-08-04 1:55 ` Paul Menage
[not found] ` <2f86c2480908031819h2513cdb4tac3d6def3e0aa320-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-04 1:45 ` Li Zefan
2009-08-04 1:05 ` Paul Menage
2009-08-04 1:11 ` Benjamin Blum
[not found] ` <6599ad830908031805y31136eceqeff0bab455100d6c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-04 1:11 ` Benjamin Blum
[not found] ` <20090731015154.27908.9639.stgit-/yCBOHwbXCxd3OlUiQof+WCaruZE5nAUZeezCHUQhQ4@public.gmane.org>
2009-08-03 3:00 ` Li Zefan
2009-08-03 17:54 ` Serge E. Hallyn
2009-08-03 17:54 ` Serge E. Hallyn
2009-08-03 18:07 ` Paul Menage
2009-08-03 18:13 ` Benjamin Blum
[not found] ` <2f86c2480908031113y525b6cbdhe418b8a0364c7760-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-03 18:55 ` Serge E. Hallyn
2009-08-03 18:55 ` Serge E. Hallyn
[not found] ` <20090803185556.GA8469-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-08-03 19:45 ` Serge E. Hallyn
2009-08-03 19:45 ` Serge E. Hallyn
[not found] ` <20090803194555.GA10158-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-08-03 19:55 ` Paul Menage
2009-08-04 18:48 ` Paul Menage
2009-08-04 18:48 ` Paul Menage
[not found] ` <6599ad830908041148h6d3f3e9bxfef9f3eedec0ab6d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-04 19:01 ` Serge E. Hallyn
2009-08-04 19:01 ` Serge E. Hallyn
2009-08-04 19:14 ` Benjamin Blum
2009-08-04 19:14 ` Benjamin Blum
[not found] ` <2f86c2480908041214r1f23c1b7q9a25b04e26c92a1a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-04 19:28 ` Paul Menage
2009-08-04 19:28 ` Paul Menage
[not found] ` <6599ad830908041228w67bc6f7fh57e28f244e1923b3-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-05 10:20 ` Louis Rilling
2009-08-05 10:20 ` Louis Rilling
[not found] ` <20090805102057.GT29252-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2009-08-05 16:11 ` Paul Menage
2009-08-05 16:11 ` Paul Menage
[not found] ` <6599ad830908050911t6f23f810i65fe8fe17f3ee698-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-05 16:42 ` Louis Rilling
2009-08-05 16:42 ` Louis Rilling
2009-08-05 16:53 ` Peter Zijlstra
[not found] ` <20090805164218.GB26446-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2009-08-05 16:53 ` Peter Zijlstra
2009-08-06 0:01 ` Benjamin Blum
2009-08-06 0:01 ` Benjamin Blum
2009-08-06 9:58 ` Louis Rilling
2009-08-06 10:04 ` Louis Rilling
[not found] ` <20090806095854.GD26446-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2009-08-06 10:04 ` Louis Rilling
2009-08-06 10:28 ` Paul Menage
2009-08-06 10:28 ` Paul Menage
[not found] ` <6599ad830908060328y21a008c1pc5ed5c27e0ec905d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-06 10:34 ` Peter Zijlstra
2009-08-06 10:34 ` Peter Zijlstra
2009-08-06 10:42 ` Paul Menage
2009-08-06 10:42 ` Paul Menage
[not found] ` <6599ad830908060342m1fc8cdd2me25af248a8e0e183-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-06 11:02 ` Peter Zijlstra
2009-08-06 11:02 ` Peter Zijlstra
2009-08-06 11:24 ` Paul Menage
2009-08-06 11:24 ` Paul Menage
2009-08-06 11:39 ` Peter Zijlstra
2009-08-06 15:19 ` Paul E. McKenney
2009-08-06 15:19 ` Paul E. McKenney
[not found] ` <20090806151922.GB6747-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2009-08-06 15:24 ` Peter Zijlstra
2009-08-06 15:24 ` Peter Zijlstra
2009-08-06 15:37 ` Paul E. McKenney
2009-08-06 15:37 ` Paul E. McKenney
[not found] ` <6599ad830908060424r72e1aa12g2b246785e7bc039c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-06 11:39 ` Peter Zijlstra
2009-08-06 11:24 ` Louis Rilling
2009-08-06 11:24 ` Louis Rilling
2009-08-06 11:40 ` Paul Menage
2009-08-06 14:54 ` Louis Rilling
[not found] ` <6599ad830908060440g2f6cbed6xdc54c7096cd3745e-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-06 14:54 ` Louis Rilling
2009-08-08 1:41 ` Benjamin Blum
2009-08-08 1:41 ` Benjamin Blum
[not found] ` <2f86c2480908071841h13009856hd8fcae167b1fadbf-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-08 1:51 ` Benjamin Blum
2009-08-08 1:51 ` Benjamin Blum
[not found] ` <20090806112450.GF26446-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2009-08-06 11:40 ` Paul Menage
[not found] ` <2f86c2480908051701s57120404q475edbedb58cdca1-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-06 9:58 ` Louis Rilling
2009-08-03 19:55 ` Paul Menage
2009-08-04 14:01 ` Serge E. Hallyn [this message]
2009-08-04 21:40 ` Matt Helsley
2009-08-04 21:40 ` Matt Helsley
[not found] ` <6599ad830908031255j68ce047x7165bfefa62ed53c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-04 14:01 ` Serge E. Hallyn
2009-08-04 21:40 ` Matt Helsley
[not found] ` <20090803175452.GA5481-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-08-03 18:07 ` Paul Menage
2009-08-03 18:13 ` Benjamin Blum
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090804140158.GA663@us.ibm.com \
--to=serue@us.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=bblum@google.com \
--cc=containers@lists.linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=menage@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.