diff options
author | Maxim Uvarov <maxim.uvarov@linaro.org> | 2017-07-14 18:05:28 +0300 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2017-07-18 15:41:27 +0300 |
commit | 95ba4b394009d92c29c2e22f0776e90bb4c6edec (patch) | |
tree | 02288e66cd292e695452ba8b5d678f4aa7e0af49 /platform/linux-generic/include/odp_packet_io_internal.h | |
parent | 9bb623dfe97590991dfe3ab04e1dcfb9ff745169 (diff) |
test: ipc pktio: bind tasks and keep packet order
Tasks which use odp time api have to be bind to cores.
pktio_ipc1 and pktio_ipc2 apps expect counters inside packets
incrementing in order - cache request in buffers to process
such packet can not be allocated immediately. Single reorder
of MAX_PKT_BURST+2 is ok for current example code to find initial
counters value.
https://bugs.linaro.org/show_bug.cgi?id=3126
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
Diffstat (limited to 'platform/linux-generic/include/odp_packet_io_internal.h')
-rw-r--r-- | platform/linux-generic/include/odp_packet_io_internal.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/platform/linux-generic/include/odp_packet_io_internal.h b/platform/linux-generic/include/odp_packet_io_internal.h index 930406815..20a865575 100644 --- a/platform/linux-generic/include/odp_packet_io_internal.h +++ b/platform/linux-generic/include/odp_packet_io_internal.h @@ -85,9 +85,10 @@ typedef struct { _ring_t *recv; /**< ODP ring for IPC msg packets indexes received from shared memory (from remote process) */ - _ring_t *free; /**< ODP ring for IPC msg packets + _ring_t *free; /**< odp ring for ipc msg packets indexes already processed by current process */ + _ring_t *cache; /**< local cache to keep packet order right */ } rx; /* slave */ void *pool_base; /**< Remote pool base addr */ void *pool_mdata_base; /**< Remote pool mdata base addr */ |