netdev-dpdk: Use instant sending instead of queueing of packets.
authorIlya Maximets <i.maximets@samsung.com>
Mon, 27 Jun 2016 13:28:16 +0000 (16:28 +0300)
committerDaniele Di Proietto <diproiettod@vmware.com>
Wed, 6 Jul 2016 22:46:35 +0000 (15:46 -0700)
commitb59cc14e032da370021794bfd1bdd3d67e88a9a3
tree81e32dfef1fdb87976d6c940904c9aaa4e00fb1b
parentc9b9d6dfc06ca347c554346c39271d6e868b19ea
netdev-dpdk: Use instant sending instead of queueing of packets.

Current implementarion of TX packet's queueing is broken in several ways:

* TX queue flushing implemented on receive assumes that all
  core_id-s are sequential and starts from zero. This may lead
  to situation when packets will stuck in queue forever and,
  also, this influences on latency.

* For a long time flushing logic depends on uninitialized
  'txq_needs_locking', because it usually calculated after
  'netdev_dpdk_alloc_txq' but used inside of this function
  for initialization of 'flush_tx'.

Testing shows no performance difference with and without queueing.
Lets remove queueing at all because it doesn't work properly now and
also does not increase performance.

Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Acked-by: Daniele Di Proietto <diproiettod@vmware.com>
lib/netdev-dpdk.c