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

Vivek Goyal
2011-04-06T16:08:15Z

On Wed, Apr 06, 2011 at 11:37:15AM -0400, Vivek Goyal wrote:

[..]
> > what kswapd is going to do writeback when the pages
> > it's trying to writeback during a critical low memory event belong
> > to a cgroup that is throttled at the IO level, etc.
>
> Throttling will move up so kswapd will not be throttled. Even today,
> kswapd is part of root group and we do not suggest throttling root group.
>
> For the case of proportional disk sharing, we will probably account
> IO to respective cgroups (pages submitted by kswapd) and that should
> not flush to disk fairly fast and should not block for long time as it is
> work consering mechanism.
>
> Do you see an issue with kswapd IO being accounted to respective cgroups
> for proportional IO. For throttling case, all IO would go to root group
> which is unthrottled and real issue of dirtying too many pages by
> processes will be handled by throttling processes when they are dirtying
> page cache.

Or may be it is not a good idea to try to account pages to associated
cgroups when memory is low and kswapd is doing IO. We can probably mark
kswapd with some flag and account all IO to root group even for
proportional weight mechanism. In this case isolation will be broken but
I guess one can not do much. To avoid this situation, one should not
have allowed too many writes and I think that's where low dirty ratio
can come into the picture.

I thought one of the use case of this was that a high prio buffered
writer should be able to do more writes than a low prio writer. That
I think should be possible by accounting flusher writes.

Dave you have any suggestions on how to handle this?

Thanks
Vivek