This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "".
The branch, master has been updated via 29641a1e0d0868c09f35f9f32e6c8491efb62b2d (commit) via cfaee18006aab817656ffaf09e644b570ff32c8e (commit) via b02fe5f06a81a190d4c4fe65af74b800cf073436 (commit) from 5a2ed3eefb1a263139282c376741adb2c355bd5a (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit 29641a1e0d0868c09f35f9f32e6c8491efb62b2d Author: Maxim Uvarov maxim.uvarov@linaro.org Date: Mon Jul 10 13:37:28 2017 +0300
test: pktio: ipc: increse timeouts for coverage test
Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org Reviewed-and-tested-by: Bill Fischofer bill.fischofer@linaro.org
diff --git a/test/linux-generic/pktio_ipc/pktio_ipc_run.sh b/test/linux-generic/pktio_ipc/pktio_ipc_run.sh index c53de457..b713c63c 100755 --- a/test/linux-generic/pktio_ipc/pktio_ipc_run.sh +++ b/test/linux-generic/pktio_ipc/pktio_ipc_run.sh @@ -17,20 +17,29 @@ PATH=$(dirname $0):$PATH PATH=$(dirname $0)/../../../../platform/linux-generic/test/pktio_ipc:$PATH PATH=.:$PATH
+RUNTIME1=10 +RUNTIME2=5 +TIMEOUT=13 +if [ "${TEST}" = "coverage" ]; then + RUNTIME1=30 + RUNTIME2=15 + TIMEOUT=20 +fi + run() { local ret=0
echo "==== run pktio_ipc1 then pktio_ipc2 ====" - pktio_ipc1${EXEEXT} -t 10 & + pktio_ipc1${EXEEXT} -t ${RUNTIME1} & IPC_PID=$!
- pktio_ipc2${EXEEXT} -p ${IPC_PID} -t 5 + pktio_ipc2${EXEEXT} -p ${IPC_PID} -t ${RUNTIME2} ret=$? # pktio_ipc1 should do clean up and exit just # after pktio_ipc2 exited. If it does not happen # kill him in test. - sleep 13 + sleep ${TIMEOUT} (kill ${IPC_PID} 2>&1 > /dev/null ) > /dev/null if [ $? -eq 0 ]; then echo "pktio_ipc1${EXEEXT} was killed" @@ -49,14 +58,14 @@ run() fi
echo "==== run pktio_ipc2 then pktio_ipc1 ====" - pktio_ipc2${EXEEXT} -t 10 & + pktio_ipc2${EXEEXT} -t ${RUNTIME1} & IPC_PID=$!
- pktio_ipc1${EXEEXT} -p ${IPC_PID} -t 5 + pktio_ipc1${EXEEXT} -p ${IPC_PID} -t ${RUNTIME2} ret=$? # pktio_ipc2 do not exit on pktio_ipc1 disconnect # wait until it exits cleanly - sleep 13 + sleep ${TIMEOUT} (kill ${IPC_PID} 2>&1 > /dev/null ) > /dev/null if [ $? -eq 0 ]; then echo "pktio_ipc2${EXEEXT} was killed"
commit cfaee18006aab817656ffaf09e644b570ff32c8e Author: Maxim Uvarov maxim.uvarov@linaro.org Date: Mon Jul 10 13:27:14 2017 +0300
test: ipc pktio use /dev/shm instead of tmp
Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org Reviewed-and-tested-by: Bill Fischofer bill.fischofer@linaro.org
diff --git a/test/linux-generic/pktio_ipc/pktio_ipc_run.sh b/test/linux-generic/pktio_ipc/pktio_ipc_run.sh index 331ecdc9..c53de457 100755 --- a/test/linux-generic/pktio_ipc/pktio_ipc_run.sh +++ b/test/linux-generic/pktio_ipc/pktio_ipc_run.sh @@ -34,11 +34,11 @@ run() (kill ${IPC_PID} 2>&1 > /dev/null ) > /dev/null if [ $? -eq 0 ]; then echo "pktio_ipc1${EXEEXT} was killed" - ls -l /tmp/odp* 2> /dev/null - rm -rf /tmp/odp-${IPC_PID}* 2>&1 > /dev/null + ls -l /dev/shm/${UID}/odp* 2> /dev/null + rm -rf /dev/shm/${UID}/odp-${IPC_PID}* 2>&1 > /dev/null else echo "normal exit of 2 application" - ls -l /tmp/odp* 2> /dev/null + ls -l /dev/shm/${UID}/odp* 2> /dev/null fi
if [ $ret -ne 0 ]; then @@ -60,20 +60,20 @@ run() (kill ${IPC_PID} 2>&1 > /dev/null ) > /dev/null if [ $? -eq 0 ]; then echo "pktio_ipc2${EXEEXT} was killed" - ls -l /tmp/odp* 2> /dev/null - rm -rf /tmp/odp-${IPC_PID}* 2>&1 > /dev/null + ls -l /dev/shm/${UID}/odp* 2> /dev/null + rm -rf /dev/shm/${UID}/odp-${IPC_PID}* 2>&1 > /dev/null else echo "normal exit of 2 application" - ls -l /tmp/odp* 2> /dev/null + ls -l /dev/shm/${UID}/odp* 2> /dev/null fi
if [ $ret -ne 0 ]; then echo "!!! FAILED !!!" - ls -l /tmp/odp* 2> /dev/null - rm -rf /tmp/odp-${IPC_PID}* 2>&1 > /dev/null + ls -l /dev/shm/${UID}/odp* 2> /dev/null + rm -rf /dev/shm/${UID}/odp-${IPC_PID}* 2>&1 > /dev/null exit $ret else - ls -l /tmp/odp* 2> /dev/null + ls -l /dev/shm/${UID}/odp* 2> /dev/null echo "Second stage PASSED" fi
commit b02fe5f06a81a190d4c4fe65af74b800cf073436 Author: Maxim Uvarov maxim.uvarov@linaro.org Date: Sat Jul 8 00:50:54 2017 +0300
linux-gen: pktio: ipc fix packets free
Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org Reviewed-and-tested-by: Bill Fischofer bill.fischofer@linaro.org
diff --git a/platform/linux-generic/pktio/ipc.c b/platform/linux-generic/pktio/ipc.c index 54e42227..f0facd8c 100644 --- a/platform/linux-generic/pktio/ipc.c +++ b/platform/linux-generic/pktio/ipc.c @@ -389,10 +389,15 @@ static void _ipc_free_ring_packets(pktio_entry_t *pktio_entry, _ring_t *r) int ret; void **rbuf_p; int i; + void *addr; + pool_t *pool;
if (!r) return;
+ pool = pool_entry_from_hdl(pktio_entry->s.ipc.pool); + addr = odp_shm_addr(pool->shm); + rbuf_p = (void *)&offsets;
while (1) { @@ -403,10 +408,10 @@ static void _ipc_free_ring_packets(pktio_entry_t *pktio_entry, _ring_t *r) for (i = 0; i < ret; i++) { odp_packet_hdr_t *phdr; odp_packet_t pkt; - void *mbase = pktio_entry->s.ipc.pool_mdata_base;
- phdr = (void *)((uint8_t *)mbase + offsets[i]); + phdr = (void *)((uint8_t *)addr + offsets[i]); pkt = packet_handle(phdr); + odp_packet_free(pkt); } } @@ -420,7 +425,7 @@ static int ipc_pktio_recv_lockless(pktio_entry_t *pktio_entry, _ring_t *r; _ring_t *r_p; uintptr_t offsets[PKTIO_IPC_ENTRIES]; - void **ipcbufs_p = (void *)&offsets; + void **ipcbufs_p = (void *)&offsets[0]; uint32_t ready; int pkts_ring;
@@ -437,6 +442,11 @@ static int ipc_pktio_recv_lockless(pktio_entry_t *pktio_entry, if (odp_unlikely(pkts < 0)) ODP_ABORT("internal error dequeue\n");
+ for (i = 0; i < pkts; i++) { + IPC_ODP_DBG("%d/%d recv packet offset %x\n", + i, pkts, offsets[i]); + } + /* fast path */ if (odp_likely(0 == pkts)) return 0; @@ -511,9 +521,17 @@ static int ipc_pktio_recv_lockless(pktio_entry_t *pktio_entry, r_p = pktio_entry->s.ipc.rx.free;
repeat: + + ipcbufs_p = (void *)&offsets[0]; pkts_ring = _ring_mp_enqueue_burst(r_p, ipcbufs_p, pkts); if (odp_unlikely(pkts_ring < 0)) ODP_ABORT("ipc: odp_ring_mp_enqueue_bulk r_p fail\n"); + + for (i = 0; i < pkts; i++) { + IPC_ODP_DBG("%d/%d send to be free packet offset %x\n", + i, pkts, offsets[i]); + } + if (odp_unlikely(pkts != pkts_ring)) { IPC_ODP_DBG("odp_ring_full: %d, odp_ring_count %d," " _ring_free_count %d\n", @@ -597,10 +615,13 @@ static int ipc_pktio_send_lockless(pktio_entry_t *pktio_entry, /* compile all function code even if ipc disabled with config */ pkt_hdr->buf_hdr.ipc_data_offset = data_pool_off; IPC_ODP_DBG("%d/%d send packet %llx, pool %llx," - "phdr = %p, offset %x\n", + "phdr = %p, offset %x sendoff %x, addr %llx iaddr %llx\n", i, len, odp_packet_to_u64(pkt), odp_pool_to_u64(pool_hdl), - pkt_hdr, pkt_hdr->buf_hdr.ipc_data_offset); + pkt_hdr, pkt_hdr->buf_hdr.ipc_data_offset, + offsets[i], odp_shm_addr(pool->shm), + odp_shm_addr(pool_entry_from_hdl( + pktio_entry->s.ipc.pool)->shm)); }
/* Put packets to ring to be processed by other process. */
-----------------------------------------------------------------------
Summary of changes: platform/linux-generic/pktio/ipc.c | 31 +++++++++++++++++---- test/linux-generic/pktio_ipc/pktio_ipc_run.sh | 39 ++++++++++++++++----------- 2 files changed, 50 insertions(+), 20 deletions(-)
hooks/post-receive