Re: [Lsf] IO less throttling and cgroup aware writeback (Was: Re: Preliminary Agenda and Activities for LSF)

Vivek Goyal
2011-04-07T20:04:45Z

On Thu, Apr 07, 2011 at 09:08:04AM +1000, Dave Chinner wrote:

[..]
> > At the very least, when a task is moved from one cgroup to another,
> > we've got a shared inode case. This probably won't happen more than
> > once for most tasks, but it will likely be common.
>
> That's not a shared case, that's a transfer of ownership. If the
> task changes groups, you have to charge all it's pages to the new
> group, right? Otherwise you've got a problem where a task that is
> not part of a specific cgroup is still somewhat controlled by it's
> previous cgroup. It would also still influence that previous group
> even though it's no longer a member. Not good for isolation purposes.
>
> And if you are transfering the state, moving the inode from the
> dirty list of one cgroup to another is trivial and avoids any need
> for the dirty state to be shared....

I am wondering how do you map a task to an inode. Multiple tasks in the
group might have written to same inode. Now which task owns it?

Thanks
Vivek