lkml.org 
[lkml]   [2009]   [Dec]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Block IO Controller V4
On Wed, Dec 02, 2009 at 09:51:36AM +0800, Gui Jianfeng wrote:
> Vivek Goyal wrote:
> > Hi Jens,
> >
> > This is V4 of the Block IO controller patches on top of "for-2.6.33" branch
> > of block tree.
> >
> > A consolidated patch can be found here:
> >
> > http://people.redhat.com/vgoyal/io-controller/blkio-controller/blkio-controller-v4.patch
> >
>
> Hi Vivek,
>
> It seems this version doesn't work very well for "direct(O_DIRECT) sequence read" mode.
> For example, you can create group A and group B, then assign weight 100 to group A and
> weight 400 to group B, and you run "direct sequence read" workload in group A and B
> simultaneously. Ideally, we should see 1:4 disk time differentiation for group A and B.
> But actually, I see almost 1:2 disk time differentiation for group A and B. I'm looking
> into this issue.
> BTW, V3 works well for this case.

Hi Gui,

In my testing of 8 fio jobs in 8 cgroups, direct sequential reads seems to
be working fine.

http://lkml.org/lkml/2009/12/1/367

I suspect that in some case we choose not to idle on the group and it gets
deleted from service tree hence we loose share. Can you have a look at
blkio.dequeue files. If there are excessive deletions, that will signify
that we are loosing share because we chose not to idle.

If yes, please also run blktrace to see in what cases we chose not to
idle.

In V3, I had a stronger check to idle on the group if it is empty using
wait_busy() function. In V4 I have removed that and trying to wait busy
on a queue by extending its slice if it has consumed its allocated slice.

Thanks
Vivek


\
 
 \ /
  Last update: 2009-12-02 15:29    [from the cache]
©2003-2011 Jasper Spaans