virtio: fix update of vring descriptor index
virtio: fix update of vring descriptor index

Updating the vring descriptor index should be done before notifying host;
Remove 2 duplicated store memory barriers in both Rx and Tx path because there is
store memory barrier in vq_update_avail_idx function;
Notify the host only if packets actually transmitted(nb_tx > 0).

Signed-off-by: Changchun Ouyang <593bf1f161e79772915ea885e47cf0e95f4498c0@intel.com>
Acked-by: Huawei Xie <3b3be4428106761300a2ee559c9f71ecdb091553@intel.com>

venkynv/dpdk-mirror,venkynv/dpdk-mirror,john-mcnamara-intel/dpdk,venkynv/dpdk-mirror,john-mcnamara-intel/dpdk,venkynv/dpdk-mirror,tsphillips/dpdk-fork,john-mcnamara-intel/dpdk,john-mcnamara-intel/dpdk,msune/dpdk,tsphillips/dpdk-fork,mixja/dpdk,tsphillips/dpdk-fork,tsphillips/dpdk-fork,msune/dpdk,msune/dpdk,mixja/dpdk,mixja/dpdk,mixja/dpdk,msune/dpdk