On Wed, Sep 03, 2014 at 10:09:21AM +0200, Peter Lieven wrote:
> 
> 
> > Am 02.09.2014 um 21:30 schrieb Peter Lieven <p...@kamp.de>:
> > 
> > Looking at the code, is it possible that not the guest is causing trouble 
> > here, but
> > multiwrite_merge code?
> > 
> > From what I see the only limit it has when merging requests is the number 
> > of IOVs.
> > 
> > 
> > Any thoughts?
> > 
> > Mine are:
> > a) Introducing bs->bl.max_request_size and set merge = 0 if the result 
> > would be too big. Default
> > max request size to 32768 sectors (see below).
> > b) Hardcoding the limit in multiwrite_merge for now limiting the merged 
> > size to 16MB (32768 sectors).
> >     Which is the limit we already use in bdrv_co_discard and 
> > bdrv_co_write_zeroes if we don't know
> >     better.
> 
> or c) disabling multiwrite merge for RAW or only iSCSI completely.

I think you're right, multiwrite could merge a larger request than the
storage device can handle.

Do you want to implement a)?

b) is okayish.  c) is too hacky and might result in performance
regressions because it changes the I/O pattern for existing guests.

Stefan

Attachment: pgpKKiytoSqp2.pgp
Description: PGP signature

Reply via email to