Re: [PATCH 1/1] virtio: add VIRTIO_F_IN_ORDER to header file

Max Gurtovoy
2021-09-05T22:21:20Z

On 9/5/2021 6:09 PM, Michael S. Tsirkin wrote:
> On Sun, Sep 05, 2021 at 03:09:11PM +0300, Max Gurtovoy wrote:
>> For now only add this definition from the spec. In the future, The
>> drivers should negotiate this feature to optimize the performance.
>>
>> Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com>
> So I think IN_ORDER was a mistake since it breaks ability
> to do pagefaults efficiently without stopping the ring.

I'm not sure I get it.

I wanted to use it for improving performance of a virtio-blk device by
coalescing many completions to one interrupt.

> I think that VIRTIO_F_PARTIAL_ORDER is a better option -
> am working on finalizing that proposal, will post RSN now.
>
>
>> ---
>> include/uapi/linux/virtio_config.h | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/include/uapi/linux/virtio_config.h b/include/uapi/linux/virtio_config.h
>> index b5eda06f0d57..3fcdc4ab6f19 100644
>> --- a/include/uapi/linux/virtio_config.h
>> +++ b/include/uapi/linux/virtio_config.h
>> @@ -82,6 +82,12 @@
>> /* This feature indicates support for the packed virtqueue layout. */
>> #define VIRTIO_F_RING_PACKED 34
>>
>> +/*
>> + * This feature indicates that all buffers are used by the device in the same
>> + * order in which they have been made available.
>> + */
>> +#define VIRTIO_F_IN_ORDER 35
>> +
>> /*
>> * This feature indicates that memory accesses by the driver and the
>> * device are ordered in a way described by the platform.
>> --
>> 2.18.1