if it is so useful. I guess it might be overkill. I have designed the io-tracking mechanism of bio-cgroup based on the memory controller because: - I wanted reuse the existing code for the first step as far as I could. And I also think it's a good policy to make things generic so other functions can use it. - bio-cgroup should be used with the cgroup memory controller to controll delayed write requests. Without the memory controller, a bio-group may eat up lots of pages and turn them dirty. I don't want to imagine what would happens if this bio-group is assigned a low priority for I/O. If bio-cgroup may cause some trouble without the memory controller, I think it won't be so useful to design a new io-tracking mechanism. - I think this kind of thread application should control its I/O requests inside of the application. I guess it seems to quite difficult to determine which thread is doing what kind of job in the application. We can just leave this issue to these type of applications, can we? I guess most of this kind of applications must have been well designed already. What do you think if we just leave it as it is and keep the code simple? Thanks, Hirokazu Takahashi.