Re: [PATCH v8 1/9] block: Introduce queue limits for copy-offload support

From: Damien Le Moal
Date: Wed Mar 29 2023 - 08:24:25 EST


On 3/29/23 19:41, Nitesh Shetty wrote:
>>> +What: /sys/block/<disk>/queue/copy_max_bytes
>>> +Date: November 2022
>>> +Contact: linux-block@xxxxxxxxxxxxxxx
>>> +Description:
>>> + [RW] While 'copy_max_bytes_hw' is the hardware limit for the
>>> + device, 'copy_max_bytes' setting is the software limit.
>>> + Setting this value lower will make Linux issue smaller size
>>> + copies from block layer.
>>
>> This is the maximum number of bytes that the block
>> layer will allow for a copy request. Must be smaller than
>> or equal to the maximum size allowed by the hardware indicated
>
> Looks good. Will update in next version. We took reference from discard.
>
>> by copy_max_bytes_hw. Write 0 to use the default kernel
>> settings.
>>
>
> Nack, writing 0 will not set it to default value. (default value is
> copy_max_bytes = copy_max_bytes_hw)

It is trivial to make it work that way, which would match how max_sectors_kb
works. Write 0 to return copy_max_bytes being equal to the default
copy_max_bytes_hw.

The other possibility that is also interesting is "write 0 to disable copy
offload and use emulation". This one may actually be more useful.

>
>>> +
>>> +
>>> +What: /sys/block/<disk>/queue/copy_max_bytes_hw
>>> +Date: November 2022
>>> +Contact: linux-block@xxxxxxxxxxxxxxx
>>> +Description:
>>> + [RO] Devices that support offloading copy functionality may have
>>> + internal limits on the number of bytes that can be offloaded
>>> + in a single operation. The `copy_max_bytes_hw`
>>> + parameter is set by the device driver to the maximum number of
>>> + bytes that can be copied in a single operation. Copy
>>> + requests issued to the device must not exceed this limit.
>>> + A value of 0 means that the device does not
>>> + support copy offload.
>>
>> [RO] This is the maximum number of kilobytes supported in a
>> single data copy offload operation. A value of 0 means that the
>> device does not support copy offload.
>>
>
> Nack, value is in bytes. Same as discard.

Typo. I meant Bytes. Your text is too long an too convoluted, so unclear.

--
Damien Le Moal
Western Digital Research