Hi Yoshikawa-san, > I wanted to test my own scheduler which uses bio tracking information. > SO I tried your patch, especially, get_bio_cgroup_iocontext(), to get > the io_context from bio. > > In my test, I made some threads with certain iopriorities run > concurrently. To schedule these threads based on their iopriorities, > I made BGROUP directories for each iopriorities. > e.g. /cgroup/bio/be0 ... /cgroup/bio/be7 > Then, I tried to attach the processes to the appropriate groups. > > But the processes stayed in the original group(id=0). In the current implementation, when a process moves to an another cgroup: - Already allocated memory does not move to the cgroup, still remains. - Only allocated memory after move belongs to the cgroup. This behavior follows the memory controller. Memory does not move between cgroups since it is so heavy operation, but it would be worth under some sort of conditions. Could you try to move a process between cgroups in the following way? # echo $$ > /cgroup/bio/be0 # run_your_program # echo $$ > /cgroup/bio/be1 # run_your_program ... > I am sorry but I have to leave now and I cannot come here next week. > --> I will take summer holidays. Have a nice vacation! Thanks, Ryo Tsuruta -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel