Re: io scheduler merges control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Alan,

Your patch worked, didn't see any other problems, thanks.

If you get a chance, I'd like to understand why/how the block device driver speed influences the number of merges,

thanks,
John

--- On Wed, 1/20/10, Alan D. Brunelle <Alan.Brunelle@xxxxxx> wrote:

> From: Alan D. Brunelle <Alan.Brunelle@xxxxxx>
> Subject: Re: io scheduler merges control
> To: "Jens Axboe" <jens.axboe@xxxxxxxxxx>
> Cc: "john smith" <whalajam@xxxxxxxxx>, fio@xxxxxxxxxxxxxxx
> Date: Wednesday, January 20, 2010, 8:18 AM
> On Mon, 2010-01-11 at 14:54 +0100,
> Jens Axboe wrote:
> > On Tue, Jan 05 2010, Alan D. Brunelle wrote:
> > > On Mon, 2010-01-04 at 17:53 -0800, john smith
> wrote:
> > > > Alan,
> > > > 
> > > > I've tried 'echo "1">
> /sys/block/<dsf>/queue/nomerges' but
> > > > fio/sequential-reads merges still occur and
> apparently they are only
> > > > the simple ones that can't be disabled.
> > > > 
> > > > 1) What can I change in the kernel to
> disable ALL the merges
> > > > (including the simple ones)?
> > > > (I tried setting
> iosched_cfq.ops.elevator_merge_fn,
> > > > elevator_merged_fn, elevator_merge_req_fn,
> elevator_allow_merge_fn = 0
> > > > but still fio reported merges)
> > > 
> > > Unfortunately, the "simple" ones were left in
> precisely because they
> > > were (a) easy to do, and (b) were expected to
> happen often enough to
> > > keep them in. Jens may be able to comment
> further.
> > 
> > Right, they are both cheap and easy so they were kept.
> The goal with the
> > nomerges switch was to save CPU, so it'll still do
> cheap merges. I don't
> > think there's a use for disabling merges completely
> outside of device
> > testing and benchmarking, it's not a real world
> problem. That said, I do
> > occasionally hack that up as well for testing
> purposes. Perhaps we could
> > tweak nomerges to accept a '2' value as well,
> indicating that we don't
> > want any merges at all.
> > 
> 
> John (& Jens) - 
> 
> Please find attached a patch that does this - new
> documentation
> for /sys/block/*/queue/nomerges:
> 
> +This enables the user to disable the lookup logic involved
> with IO
> +merging requests in the block layer. By default (0) all
> merges are
> +enabled. When set to 1 only simple one-hit merges will be
> tried. When
> +set to 2 no merge algorithms will be tried (including
> one-hit or more
> +complex tree/hash lookups).
> 
> John: let me know if this does what you'd think - then I'll
> go post to
> LKML.
> 
> Regards,
> Alan
> 


      
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux