RFC: Attaching threads to cgroups is OK?

Takuya Yoshikawa yoshikawa.takuya at oss.ntt.co.jp
Tue Aug 19 03:38:14 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?

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 mailing list