numam-dpdk/drivers
Adrien Mazarguil cd9ea11454 net/mlx5: make Rx queue reinitialization safer
The primary purpose of rxq_rehash() function is to stop and restart
reception on a queue after re-posting buffers. This may fail if the array
that temporarily stores existing buffers for reuse cannot be allocated.

Update rxq_rehash() to work on the target queue directly (not through a
template copy) and avoid this allocation.

rxq_alloc_elts() is modified accordingly to take buffers from an existing
queue directly and update their refcount.

Unlike rxq_rehash(), rxq_setup() must work on a temporary structure but
should not allocate new mbufs from the pool while reinitializing an
existing queue. This is achieved by using the refcount-aware
rxq_alloc_elts() before overwriting queue data.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Signed-off-by: Vasily Philipov <vasilyf@mellanox.com>
2016-06-27 16:17:52 +02:00
..
crypto mk: fix external dependencies of crypto drivers 2016-06-29 13:33:01 +02:00
net net/mlx5: make Rx queue reinitialization safer 2016-06-27 16:17:52 +02:00
Makefile mk: fix build without crypto 2016-03-11 10:43:09 +01:00