On 18.03.2016 13:08, Xie, Huawei wrote: > On 2/24/2016 7:47 PM, Ilya Maximets wrote: >> * Wait until it's our turn to add our buffer >> @@ -979,7 +979,7 @@ rte_vhost_dequeue_burst(struct virtio_net *dev, uint16_t >> queue_id, >> entry_success++; >> } >> >> - rte_compiler_barrier(); >> + rte_smp_rmb(); > > smp_rmb()?
There is no such function 'smp_rmb' in DPDK. But: .../arch/arm/rte_atomic.h:#define rte_smp_rmb() rte_rmb() .../arch/ppc_64/rte_atomic.h:#define rte_smp_rmb() rte_compiler_barrier() .../arch/tile/rte_atomic.h:#define rte_smp_rmb() rte_compiler_barrier() .../arch/x86/rte_atomic.h:#define rte_smp_rmb() rte_compiler_barrier() > >> vq->used->idx += entry_success; >> vhost_log_used_vring(dev, vq, offsetof(struct vring_used, idx), >> sizeof(vq->used->idx)); >> -- 2.5.0 > > >