[stgt] WRITE_SAME aio support

Moussa Ba (moussaba) moussaba at micron.com
Mon Aug 19 05:13:22 CEST 2013


I just switched over to rdwr, might be safer anyway...So, how do I enable COMPAREANDWRITE on rdwr?

Moussa

-----Original Message-----
From: stgt-owner at vger.kernel.org [mailto:stgt-owner at vger.kernel.org] On Behalf Of ronnie sahlberg
Sent: Sunday, August 18, 2013 8:12 PM
To: Moussa Ba (moussaba)
Cc: stgt at vger.kernel.org
Subject: Re: WRITE_SAME aio support

COMPAREANDWRITE needs to be ported to bs_aio too, but porting it and
WRITESAME too to bs_aio should be straightforward.
I can do a patch for that perhaps over the next few days. Possibly.

Unfortunately, I never use bs_aio myself, I only use bs_rdwr,   and it
seems that TGTD and bs_aio is completely broken.
I tried to compile and install it under both ubuntu and fedora right
now but it just dumps core as soon as
you start sending any kind of I/O to it.

As I am not familiar with bs_aio  I cant tell how long it will take to
fix it, or perhaps someone else can help look at it too. But as for
now, bs_aio is pretty borked :-(
As soon as bs_aio is fixed  I can port WRITESAME and COMPAREANDWRITE to it.



On Sun, Aug 18, 2013 at 6:16 PM, Moussa Ba (moussaba)
<moussaba at micron.com> wrote:
> I will collect the wireshark and send the data. But based on the available documentation on VAAI, it implements 0x89 (ATS or Compare and Write), 0x83 (XCOPY), 0x93 (WRITE_SAME).
>
> How is COMPAREANDWRITE enabled?
> Is it a stable feature?
> Is it supported by aio?
>
> Moussa
>
> -----Original Message-----
> From: ronnie sahlberg [mailto:ronniesahlberg at gmail.com]
> Sent: Sunday, August 18, 2013 5:20 PM
> To: Moussa Ba (moussaba)
> Cc: stgt at vger.kernel.org
> Subject: Re: WRITE_SAME aio support
>
> On Sun, Aug 18, 2013 at 5:08 PM, Moussa Ba (moussaba)
> <moussaba at micron.com> wrote:
>> Our device is a high performance PCIe drive.  aio is better.
>
> I see.
> The TGTD LUN, is it a normal LUN or have you activated thin-provisioning for it?
>
> Can you compile tgtd from scratch and test?
> If that is feasible, you can change  usr/sbc.c and remove
> WRITESAME10/16 completely from tgtd.
> Towards the end of that file there is a definition of what commands
> the emulated disk devices support :
>
> static struct device_type_template sbc_template = {
> ...
>
> Indices 0x41 and 0x93 refer to the two WRITESAME versions.
> If you change these two lines :
> {sbc_rw,}, /* WRITE_SAME10 */
> ...
> {sbc_rw,}, /* WRITE_SAME_16 */
>
> to instead be
> {spc_illegal_op,},
>
> Then WRITESAME10/16 will be disabled and you shouldnt get those
> warnings in the logs.
>
>
> I can try adding WRITESAME10/16 support to tgtd sometime in the next few days.
> Would it be possible for you to test those patches for me ?
>
>
>
>
>
>
>> Any plans for tgt to support ATS,  full copy and other VAAI primitives?
>
> Sure.
> Do you have a list of which SCSI commands these refer to?
> I assume COMPAREANDWRITE and XCOPY at least.
>
> We have COMPAREANDWRITE in TGTD but it is not enabled by default.
> Could you collect a wireshark trace and send to me so I can see what
> the commands VMWARE sends looks like? If so I can give it a try to
> implement something.
>
>
>
>>
>> Moussa
>>
>>
>>
>> -------- Original message --------
>> From: ronnie sahlberg <ronniesahlberg at gmail.com>
>> Date: 08/18/2013 17:04 (GMT-08:00)
>> To: "Moussa Ba (moussaba)" <moussaba at micron.com>
>> Cc: stgt at vger.kernel.org
>> Subject: Re: WRITE_SAME aio support
>>
>>
>> If it is VMWARE then it probably uses WRITESAME10/16 for unmap/discard purposes.
>>
>> For now, can you try using bs_rdwr instead of bs_aio ?
>>
>>
>> Longer term I will do a patch for
>> * add WRITESAME10/16 + unmap support to bs_aio
>> * make "indicate unmap support based on whether the backend supports it or not"
>>
>>
>>
>>
>> On Sun, Aug 18, 2013 at 4:57 PM, Moussa Ba (moussaba)
>> <moussaba at micron.com> wrote:
>>> The LUN as seen by VMWare shows WRITE_SAME support.   Not sure what is uses for  discard
>>>
>>>
>>> -------- Original message --------
>>> From: ronnie sahlberg <ronniesahlberg at gmail.com>
>>> Date: 08/18/2013 16:55 (GMT-08:00)
>>> To: "Moussa Ba (moussaba)" <moussaba at micron.com>
>>> Cc: stgt at vger.kernel.org
>>> Subject: Re: WRITE_SAME aio support
>>>
>>>
>>> Your initiator uses WS10/16 for unmap/discard ?
>>> (i.e. you mount the filesystem using -o discard in the guest)
>>>
>>> STGT currently offers "I support unmapping using both WS10 and 16". We
>>> probably should only do this
>>> for backends that supports these operations,  == bs_rdwr.c and not
>>> indicate support for the others.
>>>
>>>
>>> What we probably need to do here is to make the support for
>>> WRITESAME10/16 with unmap support optional
>>> on whether the backend supports it.
>>> I can look at adding this once I get some other changes in.
>>>
>>>
>>>
>>> On Wed, Aug 14, 2013 at 2:41 PM, Moussa Ba (moussaba)
>>> <moussaba at micron.com> wrote:
>>>> I am seeing a LOT of WRITE_SAME error messages in the tgt logs. I understand it is not implemented for aio, my question is will this affect array performance . We are using tgt to host datastores for a virtualization workload.
>>>>
>>>>
>>>> tgtd: bs_aio_cmd_submit(211) WRITE_SAME not yet supported for AIO backend
>>>>
>>>>
>>>> Moussa
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe stgt" in
>>>> the body of a message to majordomo at vger.kernel.org
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe stgt" in
>>> the body of a message to majordomo at vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> --
>> To unsubscribe from this list: send the line "unsubscribe stgt" in
>> the body of a message to majordomo at vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



More information about the stgt mailing list