RFC: Attaching threads to cgroups is OK?
taka at valinux.co.jp
Wed Aug 20 00:41:56 PDT 2008
> Hi everyone,
> I have a question about cgroup's policy concerning the treatment of
> threads. Please consider that we want to attach an application which has
> some threads already to a certain cgroup. If we echo the pid of this
> application to the "tasks" file connected to this cgroup the threads
> belonging to this application will NOT be moved to the new group. Is it
> right? If so, is it OK?
> I mean, in the current implementation, threads created before the
> attachement of the parent process are not treated eaqually to those
> created after.
> Could you tell me if you know something about the rules of attachement
> of pid, or tid, to cgroups? -- what ID is OK to write to "tasks" file
> and what we can expect as a result?
FYI, it won't happen anything in case you just move a process or thread
since the current implementation of the memory controller haven't
supported this feature yet.
This restriction won't be removed unless we make pages be able to move
> Tsuruta-san, how about your bio-cgroup's tracking concerning this?
> If we want to use your tracking functions for each threads seperately,
> there seems to be a problem.
> ===cf. mm_get_bio_cgroup()===================
> mm_struct ----> task_struct ----> bio_cgroup
> In my understanding, the mm_struct of a thread is same as its parent's.
> So, even if we attach the TIDs of some threads to different cgroups the
> tracking always returns the same bio_cgroup -- its parent's group.
> Do you have some policy about in which case we can use your tracking?
> -- Takuya Yoshikawa
More information about the Containers