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@xxxxxxxxxx>
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