Hi Tsuruta-san,
Ryo Tsuruta wrote:
Hi Yoshikawa-san,
+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?
This function can be more simplified, there is some unnecessary code
from old version.
I think it is neccessary to attach the task p to new biog.
I tried to put a process into a group by writing to
"/cgroup/bio/BGROUP/tasks" but failed.
Could you tell me what you actually did? I will try the same thing.
--
Ryo Tsuruta <ryov@xxxxxxxxxxxxx>
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).
...
I am sorry but I have to leave now and I cannot come here next week.
--> I will take summer holidays.
I will reply to you later.
Thanks,
- Takuya Yoshikawa
--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel