[PATCH 18/23] io-controller: blkio_cgroup patches from Ryo to track async bios.

Ryo Tsuruta ryov at valinux.co.jp
Wed Sep 2 19:24:23 PDT 2009


Hi Vivek,

Vivek Goyal <vgoyal at redhat.com> wrote:
> > > > > > - Somebody also gave an example where there is a memory hogging process and
> > > > > >  possibly pushes out some processes to swap. It does not sound fair to
> > > > > >  charge those proccess for that swap writeout. These processes never
> > > > > >  requested swap IO.
> > > > 
> > > > I think that swap writeouts should be charged to the memory hogging
> > > > process, because the process consumes more resources and it should get
> > > > a penalty.
> > > > 
> > > 
> > > A process requesting memory gets IO penalty? IMHO, swapping is a kernel 
> > > mechanism and kernel's way of providing extended RAM. If we want to solve
> > > the issue of memory hogging by a process then right way to solve is to use
> > > memory controller and not by charging the process for IO activity.
> > > Instead, proabably a more suitable way is to charge swap activity to root
> > > group (where by default all the kernel related activity goes).   
> > 
> > No. In the current blkio-cgroup, a process which uses a large amount
> > of memory gets penalty, not a memory requester.
> > 
> 
> At ioband level you just get to see bio and page. How do you decide wheter
> this bio is being issued by a process which is a memory hog?
> 
> In fact requester of memory could be anybody. It could be memory hog or a
> different process. So are you saying that you got a mechanism where you 
> can detect that a process is memory hog and charge swap activity to it.
> IOW, if there are two processes A and B and assume A is the memory hog and
> then B requests for memory which triggers lot of swap IO, then you can
> charge all that IO to memory hog A?

When an annoymou page is allocated, blkio-cgroup sets an ID to the
page. And then when the page is going to swap out, dm-ioband can know
who the owner of the page is by retrieving ID from the page.

In the above case, since the pages of the process A are swapped-out, 
dm-ioband charges swap IO to the process A.

> Can you please point me to the relevant code in dm-ioband?
> 
> IMHO, to keep things simple, all swapping activity should be charged to
> root group and be considered as kernel activity and user space not be
> charged for that.

Thanks,
Ryo Tsuruta


More information about the Containers mailing list