[PATCH 18/23] io-controller: blkio_cgroup patches from Ryo to track async bios.
ryov at valinux.co.jp
Wed Sep 2 20:41:44 PDT 2009
Vivek Goyal <vgoyal at redhat.com> wrote:
> > > 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.
> But this does not mean that in all cases memory hog is being charged for
> swap IO, as you have said. So if a process A has done some anonymous page
> allocations and later a memory hog B comes in and forces swap out of A,
> you will charge A for swap activity which does not seem fair as B is
> memory hog here?
I think this charging policy is not bad, but I think I can understand
you think it's not fair. Do you think it's fair if all IO is carged to B?
We should use both io and memory controller together, as you wrote,
More information about the Containers