[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] block/iscsi: use 16 byte CDBs only when necessa
From: |
ronnie sahlberg |
Subject: |
Re: [Qemu-devel] [PATCH] block/iscsi: use 16 byte CDBs only when necessary |
Date: |
Wed, 3 Sep 2014 07:17:14 -0700 |
On Wed, Sep 3, 2014 at 1:09 AM, Peter Lieven <address@hidden> wrote:
>
>
>> Am 02.09.2014 um 21:30 schrieb Peter Lieven <address@hidden>:
>>
>> 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 (a) would be best.
But I would suggest some small modifications:
Set the default max to something even smaller, like 256 sectors. This
should not have much effect on throughput since the client/initiator
can just send several concurrent i/os instead of one large i/o.
Also update scsi_disk_emulate_inquiry() so we tell the guest the
maximum transfer length for a single i/o
so that the guest kernel will break up any huge requests into proper sizes.
- Re: [Qemu-devel] [PATCH] block/iscsi: use 16 byte CDBs only when necessary, Peter Lieven, 2014/09/01
- Re: [Qemu-devel] [PATCH] block/iscsi: use 16 byte CDBs only when necessary, ronnie sahlberg, 2014/09/02
- Re: [Qemu-devel] [PATCH] block/iscsi: use 16 byte CDBs only when necessary, Peter Lieven, 2014/09/02
- Re: [Qemu-devel] [PATCH] block/iscsi: use 16 byte CDBs only when necessary, Peter Lieven, 2014/09/02
- Re: [Qemu-devel] [PATCH] block/iscsi: use 16 byte CDBs only when necessary,
ronnie sahlberg <=
- Re: [Qemu-devel] [PATCH] block/iscsi: use 16 byte CDBs only when necessary, Paolo Bonzini, 2014/09/03
- Re: [Qemu-devel] [PATCH] block/iscsi: use 16 byte CDBs only when necessary, ronnie sahlberg, 2014/09/03
- Re: [Qemu-devel] [PATCH] block/iscsi: use 16 byte CDBs only when necessary, Peter Lieven, 2014/09/03