[dpdk-dev] [PATCH] vhost: call write barrier before used index update

Bruce Richardson bruce.richardson at intel.com
Tue Oct 20 16:29:51 CEST 2015


On Tue, Oct 20, 2015 at 05:07:46PM +0300, Nikita Kalyazin wrote:
> Descriptors that have been put into the used vring must be observable by
> guest earlier than the new used index value.
> Although compiler barrier serves well for Intel architectue here, the
> proper cross-platform solution is to use write barrier before the used
> index is updated.
> 
> Signed-off-by: Nikita Kalyazin <n.kalyazin at samsung.com>
> ---
Yes, but no! :-)

This has been discussed a number of times before on list, and the consensus
seems to be that the correct way to fix this is to introduce a set of specific
barrier operations that insert the correct barrier type on each architecture,
i.e. compiler barriers on IA, and full wmbs on architectures that require that.

See discussion here: http://dpdk.org/dev/patchwork/patch/4293/
and in the thread here: http://dpdk.org/ml/archives/dev/2015-March/015202.html

So correct problem statment, but unfortunately NAK for the implementation.

Patches for general memory barrier implementation as described above welcome :-)

Regards,
/Bruce


More information about the dev mailing list