Discussion of the implementations of VIRTIO specification
 help / color / mirror / Atom feed
From: Tiwei Bie <tiwei.bie@intel.com>
To: Jason Wang <jasowang@redhat.com>
Cc: mst@redhat.com, pbonzini@redhat.com, stefanha@redhat.com,
	virtio-dev@lists.oasis-open.org, dan.daly@intel.com,
	cunming.liang@intel.com, zhihong.wang@intel.com
Subject: Re: [virtio-dev] [PATCH v1] VIRTIO_F_IO_BARRIER: use I/O barriers in driver
Date: Sat, 28 Apr 2018 11:19:06 +0800	[thread overview]
Message-ID: <20180428031906.th74iy423bdvj4xd@debian> (raw)
In-Reply-To: <2cebdb43-e0ca-8d73-1a23-4e88436d01d4@redhat.com>

On Sat, Apr 28, 2018 at 11:01:55AM +0800, Jason Wang wrote:
> On 2018年04月28日 10:23, Tiwei Bie wrote:
> > There will be hardware virtio devices in the future, which
> > require drivers to use the barriers suitable for I/O devices,
> > compared with software virtio devices which just require
> > drivers to use the barriers suitable for CPU cores.
> > 
> > To fix the ordering issue for hardware virtio devices, add
> > a new feature: VIRTIO_F_IO_BARRIER. When negotiated, driver
> > will use the barriers suitable for I/O devices.
> > 
> > Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
> > ---
> > RFC -> v1:
> > - Use plural (Stefan);
> > - Add more details (Stefan);
> > 
> >   content.tex | 14 ++++++++++++++
> >   1 file changed, 14 insertions(+)
> > 
> > diff --git a/content.tex b/content.tex
> > index ae5fa4c..a1c09c4 100644
> > --- a/content.tex
> > +++ b/content.tex
> > @@ -5445,6 +5445,13 @@ Descriptors} and \ref{sec:Packed Virtqueues / Indirect Flag: Scatter-Gather Supp
> >     that drivers pass extra data (besides identifying the Virtqueue)
> >     in their device notifications.
> >     See \ref{sec:Virtqueues / Driver notifications}~\nameref{sec:Virtqueues / Driver notifications}.
> > +  \item[VIRTIO_F_IO_BARRIER(37)] This feature indicates that the device
> > +  needs the driver to use the barriers suitable for hardware devices.
> 
> Users may ask what the specific kinds of barrier here (e.g mmio barrier or
> dma barrier). Do we need to clarify that?

IMO it's very obvious that we need all types of barriers used
in the driver should be able to work with hardware devices.

Best regards,
Tiwei Bie

> 
> Thanks
> 
> > +  Some transports require barriers to ensure devices have a consistent
> > +  view of memory.  When devices are implemented in software a weaker
> > +  form of barrier may be sufficient and yield better performance.
> > +  This feature indicates whether a stronger form of barrier suitable
> > +  for hardware devices is necessary.
> >   \end{description}
> >   \drivernormative{\section}{Reserved Feature Bits}{Reserved Feature Bits}
> > @@ -5460,6 +5467,10 @@ addresses to the device.
> >   A driver SHOULD accept VIRTIO_F_RING_PACKED if it is offered.
> > +A driver SHOULD accept VIRTIO_F_IO_BARRIER if it is offered.
> > +If VIRTIO_F_IO_BARRIER has been negotiated, a driver MUST use
> > +the barriers suitable for hardware devices.
> > +
> >   \devicenormative{\section}{Reserved Feature Bits}{Reserved Feature Bits}
> >   A device MUST offer VIRTIO_F_VERSION_1.  A device MAY fail to operate further
> > @@ -5473,6 +5484,9 @@ accepted.
> >   If VIRTIO_F_IN_ORDER has been negotiated, a device MUST use
> >   buffers in the same order in which they have been available.
> > +A device MAY fail to operate further if VIRTIO_F_IO_BARRIER
> > +is not accepted.
> > +
> >   \section{Legacy Interface: Reserved Feature Bits}\label{sec:Reserved Feature Bits / Legacy Interface: Reserved Feature Bits}
> >   Transitional devices MAY offer the following:
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


  reply	other threads:[~2018-04-28  3:18 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-28  2:23 [virtio-dev] [PATCH v1] VIRTIO_F_IO_BARRIER: use I/O barriers in driver Tiwei Bie
2018-04-28  3:01 ` Jason Wang
2018-04-28  3:19   ` Tiwei Bie [this message]
2018-04-28  3:22     ` Jason Wang
2018-04-28  3:50       ` Jason Wang

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=20180428031906.th74iy423bdvj4xd@debian \
    --to=tiwei.bie@intel.com \
    --cc=cunming.liang@intel.com \
    --cc=dan.daly@intel.com \
    --cc=jasowang@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=stefanha@redhat.com \
    --cc=virtio-dev@lists.oasis-open.org \
    --cc=zhihong.wang@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox