From: "Michael S. Tsirkin" <mst@redhat.com>
To: Tiwei Bie <tiwei.bie@intel.com>
Cc: jasowang@redhat.com, virtualization@lists.linux-foundation.org,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
virtio-dev@lists.oasis-open.org, wexu@redhat.com,
jfreimann@redhat.com, maxime.coquelin@redhat.com
Subject: [virtio-dev] Re: [RFC 2/3] virtio_ring: add VIRTIO_RING_NO_LEGACY
Date: Fri, 7 Dec 2018 13:05:35 -0500 [thread overview]
Message-ID: <20181207130336-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20181207084842.13133-3-tiwei.bie@intel.com>
On Fri, Dec 07, 2018 at 04:48:41PM +0800, Tiwei Bie wrote:
> Introduce VIRTIO_RING_NO_LEGACY to support disabling legacy
> macros and layout definitions.
>
> Suggested-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
> ---
> VRING_AVAIL_ALIGN_SIZE, VRING_USED_ALIGN_SIZE and VRING_DESC_ALIGN_SIZE
> are not pre-virtio 1.0, but can also be disabled by VIRTIO_RING_NO_LEGACY
> in this patch, because their names are not consistent with other names.
> Not sure whether this is a good idea. If we want this, we may also want
> to define _SPLIT_ version for them.
I don't think it's a good idea to have alignment in there - the point of
NO_LEGACY is to help catch bugs not to sanitize coding style IMHO.
And spec calls "legacy" the 0.X interfaces, let's not muddy the waters.
>
> include/uapi/linux/virtio_ring.h | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/include/uapi/linux/virtio_ring.h b/include/uapi/linux/virtio_ring.h
> index 9b0c0d92ab62..192573827850 100644
> --- a/include/uapi/linux/virtio_ring.h
> +++ b/include/uapi/linux/virtio_ring.h
> @@ -37,6 +37,7 @@
> #include <linux/types.h>
> #include <linux/virtio_types.h>
>
> +#ifndef VIRTIO_RING_NO_LEGACY
> /*
> * Notice: unlike other _F_ flags, below flags are defined as shifted
> * values instead of shifts for compatibility.
> @@ -51,6 +52,7 @@
> #define VRING_USED_F_NO_NOTIFY 1
> /* Same as VRING_SPLIT_AVAIL_F_NO_INTERRUPT. */
> #define VRING_AVAIL_F_NO_INTERRUPT 1
> +#endif /* VIRTIO_RING_NO_LEGACY */
>
> /* Mark a buffer as continuing via the next field in split ring. */
> #define VRING_SPLIT_DESC_F_NEXT 0
> @@ -151,6 +153,7 @@ struct vring {
> struct vring_used *used;
> };
>
> +#ifndef VIRTIO_RING_NO_LEGACY
> /* Alignment requirements for vring elements.
> * When using pre-virtio 1.0 layout, these fall out naturally.
> */
> @@ -203,6 +206,7 @@ static inline unsigned vring_size(unsigned int num, unsigned long align)
> + align - 1) & ~(align - 1))
> + sizeof(__virtio16) * 3 + sizeof(struct vring_used_elem) * num;
> }
> +#endif /* VIRTIO_RING_NO_LEGACY */
>
> /* The following is used with USED_EVENT_IDX and AVAIL_EVENT_IDX */
> /* Assuming a given event_idx value from the other side, if
> --
> 2.17.1
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Tiwei Bie <tiwei.bie@intel.com>
Cc: jasowang@redhat.com, virtualization@lists.linux-foundation.org,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
virtio-dev@lists.oasis-open.org, wexu@redhat.com,
jfreimann@redhat.com, maxime.coquelin@redhat.com
Subject: Re: [RFC 2/3] virtio_ring: add VIRTIO_RING_NO_LEGACY
Date: Fri, 7 Dec 2018 13:05:35 -0500 [thread overview]
Message-ID: <20181207130336-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20181207084842.13133-3-tiwei.bie@intel.com>
On Fri, Dec 07, 2018 at 04:48:41PM +0800, Tiwei Bie wrote:
> Introduce VIRTIO_RING_NO_LEGACY to support disabling legacy
> macros and layout definitions.
>
> Suggested-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
> ---
> VRING_AVAIL_ALIGN_SIZE, VRING_USED_ALIGN_SIZE and VRING_DESC_ALIGN_SIZE
> are not pre-virtio 1.0, but can also be disabled by VIRTIO_RING_NO_LEGACY
> in this patch, because their names are not consistent with other names.
> Not sure whether this is a good idea. If we want this, we may also want
> to define _SPLIT_ version for them.
I don't think it's a good idea to have alignment in there - the point of
NO_LEGACY is to help catch bugs not to sanitize coding style IMHO.
And spec calls "legacy" the 0.X interfaces, let's not muddy the waters.
>
> include/uapi/linux/virtio_ring.h | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/include/uapi/linux/virtio_ring.h b/include/uapi/linux/virtio_ring.h
> index 9b0c0d92ab62..192573827850 100644
> --- a/include/uapi/linux/virtio_ring.h
> +++ b/include/uapi/linux/virtio_ring.h
> @@ -37,6 +37,7 @@
> #include <linux/types.h>
> #include <linux/virtio_types.h>
>
> +#ifndef VIRTIO_RING_NO_LEGACY
> /*
> * Notice: unlike other _F_ flags, below flags are defined as shifted
> * values instead of shifts for compatibility.
> @@ -51,6 +52,7 @@
> #define VRING_USED_F_NO_NOTIFY 1
> /* Same as VRING_SPLIT_AVAIL_F_NO_INTERRUPT. */
> #define VRING_AVAIL_F_NO_INTERRUPT 1
> +#endif /* VIRTIO_RING_NO_LEGACY */
>
> /* Mark a buffer as continuing via the next field in split ring. */
> #define VRING_SPLIT_DESC_F_NEXT 0
> @@ -151,6 +153,7 @@ struct vring {
> struct vring_used *used;
> };
>
> +#ifndef VIRTIO_RING_NO_LEGACY
> /* Alignment requirements for vring elements.
> * When using pre-virtio 1.0 layout, these fall out naturally.
> */
> @@ -203,6 +206,7 @@ static inline unsigned vring_size(unsigned int num, unsigned long align)
> + align - 1) & ~(align - 1))
> + sizeof(__virtio16) * 3 + sizeof(struct vring_used_elem) * num;
> }
> +#endif /* VIRTIO_RING_NO_LEGACY */
>
> /* The following is used with USED_EVENT_IDX and AVAIL_EVENT_IDX */
> /* Assuming a given event_idx value from the other side, if
> --
> 2.17.1
next prev parent reply other threads:[~2018-12-07 18:05 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-07 8:48 [virtio-dev] [RFC 0/3] virtio_ring: define flags as shifts consistently Tiwei Bie
2018-12-07 8:48 ` Tiwei Bie
2018-12-07 8:48 ` [RFC 1/3] " Tiwei Bie
2018-12-07 8:48 ` [virtio-dev] " Tiwei Bie
2018-12-07 8:48 ` Tiwei Bie
2018-12-07 8:48 ` [virtio-dev] [RFC 2/3] virtio_ring: add VIRTIO_RING_NO_LEGACY Tiwei Bie
2018-12-07 8:48 ` Tiwei Bie
2018-12-07 18:05 ` Michael S. Tsirkin
2018-12-07 18:05 ` Michael S. Tsirkin [this message]
2018-12-07 18:05 ` Michael S. Tsirkin
2018-12-08 13:33 ` Tiwei Bie
2018-12-08 13:33 ` [virtio-dev] " Tiwei Bie
2018-12-08 13:33 ` Tiwei Bie
2018-12-07 8:48 ` Tiwei Bie
2018-12-07 8:48 ` [virtio-dev] [RFC 3/3] virtio_ring: use new vring flags Tiwei Bie
2018-12-07 8:48 ` Tiwei Bie
2018-12-07 18:10 ` Michael S. Tsirkin
2018-12-07 18:10 ` [virtio-dev] " Michael S. Tsirkin
2018-12-07 18:10 ` Michael S. Tsirkin
2018-12-08 13:47 ` [virtio-dev] " Tiwei Bie
2018-12-08 13:47 ` Tiwei Bie
2018-12-08 13:47 ` Tiwei Bie
2018-12-09 14:33 ` Michael S. Tsirkin
2018-12-09 14:33 ` [virtio-dev] " Michael S. Tsirkin
2018-12-09 14:33 ` Michael S. Tsirkin
2018-12-07 8:48 ` Tiwei Bie
2018-12-07 18:11 ` [virtio-dev] Re: [RFC 0/3] virtio_ring: define flags as shifts consistently Michael S. Tsirkin
2018-12-07 18:11 ` Michael S. Tsirkin
2018-12-08 13:26 ` Tiwei Bie
2018-12-08 13:26 ` [virtio-dev] " Tiwei Bie
2018-12-08 13:26 ` Tiwei Bie
2018-12-07 18:11 ` Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181207130336-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=jasowang@redhat.com \
--cc=jfreimann@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maxime.coquelin@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=tiwei.bie@intel.com \
--cc=virtio-dev@lists.oasis-open.org \
--cc=virtualization@lists.linux-foundation.org \
--cc=wexu@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.