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