[dpdk-dev] [PATCH v2] vhost: flush used->idx update before reading avail->flags

Nikita Kalyazin n.kalyazin at samsung.com
Mon May 18 08:18:41 CEST 2015


Ah, sorry. I looked at it without the context. Thanks.

-- 

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 Fri, May 15, 2015 at 05:23:35PM +0200, Michael S. Tsirkin wrote:
> 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
> > > 


More information about the dev mailing list