diff options
author | Matias Elo <matias.elo@nokia.com> | 2015-10-09 16:04:28 +0300 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2015-10-13 13:57:31 +0300 |
commit | 28e8c3a5a55627ca56b24fe6d82308f88563a932 (patch) | |
tree | 0ee94626b26e32ae3102578245d8de3a94be8f3f | |
parent | f468efac864fc14241ea961f2302d1150b6e4268 (diff) |
linux-generic: netmap: sync tx queues
Sync tx queues to recover from overload. Previously send
could get permanently stuck here.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
-rw-r--r-- | platform/linux-generic/pktio/netmap.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/platform/linux-generic/pktio/netmap.c b/platform/linux-generic/pktio/netmap.c index 19dc697..ab4667e 100644 --- a/platform/linux-generic/pktio/netmap.c +++ b/platform/linux-generic/pktio/netmap.c @@ -240,8 +240,10 @@ static int netmap_send(pktio_entry_t *pktio_entry, odp_packet_t pkt_table[], else break; } - if (odp_unlikely(i == NM_INJECT_RETRIES)) + if (odp_unlikely(i == NM_INJECT_RETRIES)) { + ioctl(nm_desc->fd, NIOCTXSYNC, NULL); break; + } } for (i = 0; i < nb_tx; i++) odp_packet_free(pkt_table[i]); |