lkml.org 
[lkml]   [2008]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: RFC: I/O bandwidth controller
From
Date
On Fri, 2008-08-08 at 16:20 +0900, Ryo Tsuruta wrote:
> > > - Implement a block layer resource controller. dm-ioband is a working
> > > solution and feature rich but its dependency on the dm infrastructure is
> > > likely to find opposition (the dm layer does not handle barriers
> > > properly and the maximum size of I/O requests can be limited in some
> > > cases). In such a case, we could either try to build a standalone
> > > resource controller based on dm-ioband (which would probably hook into
> > > generic_make_request) or try to come up with something new.
> >
> > I doubt about the maximum size of I/O requests problem. You can't avoid
> > this problem as far as you use device mapper modules with such a bad
> > manner, even if the controller is implemented as a stand-alone controller.
> > There is no limitation if you only use dm-ioband without any other device
> > mapper modules.
>
> The following is a part of source code where the limitation comes from.
>
> dm-table.c: dm_set_device_limits()
> /*
> * Check if merge fn is supported.
> * If not we'll force DM to use PAGE_SIZE or
> * smaller I/O, just to be safe.
> */
>
> if (q->merge_bvec_fn && !ti->type->merge)
> rs->max_sectors =
> min_not_zero(rs->max_sectors,
> (unsigned int) (PAGE_SIZE >> 9));
>
> As far as I can find, In 2.6.27-rc1-mm1, Only some software RAID
> drivers and pktcdvd driver define merge_bvec_fn().

Yup, exactly. The implication of this is that we may see a drop in
performance in some RAID configurations.



\
 
 \ /
  Last update: 2008-08-08 10:13    [W:0.127 / U:1.500 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site