Ryo Tsuruta wrote: > +static void bio_cgroup_move_task(struct cgroup_subsys *ss, > + struct cgroup *cont, > + struct cgroup *old_cont, > + struct task_struct *p) > +{ > + struct mm_struct *mm; > + struct bio_cgroup *biog, *old_biog; > + > + if (bio_cgroup_disabled()) > + return; > + > + mm = get_task_mm(p); > + if (mm == NULL) > + return; > + > + biog = cgroup_bio(cont); > + old_biog = cgroup_bio(old_cont); > + > + mmput(mm); > + return; > +} Is this function fully implemented? I tried to put a process into a group by writing to "/cgroup/bio/BGROUP/tasks" but failed. I think this function is not enough to be used as "attach." > + > + > +struct cgroup_subsys bio_cgroup_subsys = { > + .name = "bio", > + .subsys_id = bio_cgroup_subsys_id, > + .create = bio_cgroup_create, > + .destroy = bio_cgroup_destroy, > + .pre_destroy = bio_cgroup_pre_destroy, > + .populate = bio_cgroup_populate, > + .attach = bio_cgroup_move_task, > + .early_init = 0, > +}; Without "attach" function, it is difficult to check the effectiveness of block I/O tracking. Thanks, - Takuya Yoshikawa _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers