On Fri, May 15, 2015 at 04:43:33PM +0300, Nikita Kalyazin wrote:
> Hi,
> 
> 
> Maybe I missed a part of the discussion, but is there any special purpose for 
> using rte_mb (both read and write fence) here rather than rte_wmb (write 
> fence only)?

The fence is between write of used->idx and read of avail->flags, so
rte_wmb won't do anything useful.

> -- 
> 
> Best regards,
> 
> Nikita Kalyazin,
> n.kalyazin at samsung.com
> 
> Software Engineer
> CE OS Group
> Samsung R&D Institute Russia
> Tel: +7 (495) 797-25-00 #3816
> Tel: +7 (495) 797-25-03
> Office #1501, 12-1, Dvintsev str.,
> Moscow, 127018, Russia
> 
> On Wed, May 13, 2015 at 12:46:30PM +0200, Thomas Monjalon wrote:
> > 2015-04-29 19:11, Huawei Xie:
> > > update of used->idx and read of avail->flags could be reordered.
> > > memory fence should be used to ensure the order, otherwise guest could 
> > > see a stale used->idx value after it toggles the interrupt suppression 
> > > flag.
> > > After guest sets the interrupt suppression flag, it will check if there 
> > > is more buffer to process through used->idx. If it sees a stale value, it 
> > > will exit the processing while host willn't send interrupt to guest.
> > > 
> > > Signed-off-by: Huawei Xie <huawei.xie at intel.com>
> > 
> > Applied with following title, thanks
> >     vhost: fix virtio freeze due to missed interrupt
> > 

Reply via email to