[dm-devel] Re: fragmented i/o with 2.6.31?

Jun'ichi Nomura j-nomura at ce.jp.nec.com
Fri Sep 18 14:30:45 UTC 2009


Martin K. Petersen wrote:
>>>>>> "Mike" == Mike Snitzer <snitzer at redhat.com> writes:
> 
>>>>  	blk_set_default_limits(limits);
>>>> + limits->max_sectors = 0;
>>>> + limits->max_hw_sectors = 0;
> Mike> Seems like we may want some common variant in block even though
> Mike> I'm not aware of other block drivers that would benefit...
> 
> Mike> But I'll defer to Martin and/or Jens on whether these helpers are
> Mike> fine to stay in dm-table.c or should be worked into blk-settings.c
> 
> In the pre-topology days we set max_sectors to SAFE_MAX_SECTORS upon
> creation of a queue.  This is an old ATA-ism that's been around for a
> ages.
> 
> Ideally we'd simply nuke it and drivers that really needed to lower the
> bar would explicitly call blk_queue_max_sectors().  However, I'm afraid
> to change the default because I'm sure there are legacy drivers lurking
> somewhere that depend on it.
> 
> Seeing as blk_set_default_limits() is mostly aimed at stacking drivers I
> think I'd prefer moving SAFE_MAX_SECTORS back to blk_queue_make_request
> and then set max_sectors and max_hw_sectors to 0 in default_limits.
> 
> Would that work for you guys?

Yes, that should work.

I'll split the patch into 2, one for changing blk_set_default_limits
and the other for dm to set the safe default if 'max_sectors == 0'.

Thanks,
-- 
Jun'ichi Nomura, NEC Corporation




More information about the dm-devel mailing list