diff options
author | Zoltan Kiss <zoltan.kiss@linaro.org> | 2015-07-14 16:27:37 +0100 |
---|---|---|
committer | Zoltan Kiss <zoltan.kiss@linaro.org> | 2015-07-27 19:15:53 +0100 |
commit | 3e3b703c3f46cf5ead7dad1f65d3f6afa876e76b (patch) | |
tree | d4d1fe31590b69a3f235ddf87529b2d4616a1b61 /platform/linux-dpdk/include/odp_packet_io_internal.h | |
parent | 0514646ad1eaa34f74cf47df4ddf966e37227db4 (diff) |
linux-dpdk: packet_io: use separate RX/TX locks and trylock for TX completion
Using separate locks can avoid a lot of contention. And TX completion
should use trylock: if someone else does TX on that port, chances are
buffers will be released soon.
Signed-off-by: Zoltan Kiss <zoltan.kiss@linaro.org>
Reviewed-by: Ciprian Barbu <ciprian.barbu@linaro.org>
Diffstat (limited to 'platform/linux-dpdk/include/odp_packet_io_internal.h')
-rw-r--r-- | platform/linux-dpdk/include/odp_packet_io_internal.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/platform/linux-dpdk/include/odp_packet_io_internal.h b/platform/linux-dpdk/include/odp_packet_io_internal.h index 7199c76df..dffc556d0 100644 --- a/platform/linux-dpdk/include/odp_packet_io_internal.h +++ b/platform/linux-dpdk/include/odp_packet_io_internal.h @@ -40,6 +40,8 @@ typedef enum { struct pktio_entry { odp_spinlock_t lock; /**< entry spinlock */ + odp_ticketlock_t rxl; /**< RX ticket lock */ + odp_ticketlock_t txl; /**< TX ticket lock */ int taken; /**< is entry taken(1) or free(0) */ int cls_enabled; /**< is classifier enabled */ odp_pktio_t handle; /**< pktio handle */ |