From: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com> To: David Hunt <david.hunt@intel.com>, Bruce Richardson <bruce.richardson@intel.com> Cc: dev@dpdk.org, l.wojciechow@partner.samsung.com, stable@dpdk.org Subject: [dpdk-dev] [PATCH v6 08/15] test/distributor: fix freeing mbufs Date: Sat, 10 Oct 2020 00:01:55 +0200 Message-ID: <20201009220202.20834-9-l.wojciechow@partner.samsung.com> (raw) In-Reply-To: <20201009220202.20834-1-l.wojciechow@partner.samsung.com> Sanity tests with mbuf alloc and shutdown tests assume that mbufs passed to worker cores are freed in handlers. Such packets should not be returned to the distributor's main core. The only packets that should be returned are the packets send after completion of the tests in quit_workers function. This patch stops returning mbufs to distributor's core. In case of shutdown tests it is impossible to determine how worker and distributor threads would synchronize. Packets used by tests should be freed and packets used during quit_workers() shouldn't. That's why returning mbufs to mempool is moved to test procedure run on distributor thread from worker threads. Additionally this patch cleans up unused variables. Fixes: c0de0eb82e40 ("distributor: switch over to new API") Cc: david.hunt@intel.com Cc: stable@dpdk.org Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com> Acked-by: David Hunt <david.hunt@intel.com> --- app/test/test_distributor.c | 96 ++++++++++++++++++------------------- 1 file changed, 47 insertions(+), 49 deletions(-) diff --git a/app/test/test_distributor.c b/app/test/test_distributor.c index 838459392..06e01ff9d 100644 --- a/app/test/test_distributor.c +++ b/app/test/test_distributor.c @@ -44,7 +44,7 @@ total_packet_count(void) unsigned i, count = 0; for (i = 0; i < worker_idx; i++) count += __atomic_load_n(&worker_stats[i].handled_packets, - __ATOMIC_ACQUIRE); + __ATOMIC_RELAXED); return count; } @@ -55,7 +55,7 @@ clear_packet_count(void) unsigned int i; for (i = 0; i < RTE_MAX_LCORE; i++) __atomic_store_n(&worker_stats[i].handled_packets, 0, - __ATOMIC_RELEASE); + __ATOMIC_RELAXED); } /* this is the basic worker function for sanity test @@ -67,20 +67,18 @@ handle_work(void *arg) struct rte_mbuf *buf[8] __rte_cache_aligned; struct worker_params *wp = arg; struct rte_distributor *db = wp->dist; - unsigned int count = 0, num; + unsigned int num; unsigned int id = __atomic_fetch_add(&worker_idx, 1, __ATOMIC_RELAXED); num = rte_distributor_get_pkt(db, id, buf, NULL, 0); while (!quit) { __atomic_fetch_add(&worker_stats[id].handled_packets, num, - __ATOMIC_ACQ_REL); - count += num; + __ATOMIC_RELAXED); num = rte_distributor_get_pkt(db, id, buf, buf, num); } __atomic_fetch_add(&worker_stats[id].handled_packets, num, - __ATOMIC_ACQ_REL); - count += num; + __ATOMIC_RELAXED); rte_distributor_return_pkt(db, id, buf, num); return 0; } @@ -136,7 +134,7 @@ sanity_test(struct worker_params *wp, struct rte_mempool *p) for (i = 0; i < rte_lcore_count() - 1; i++) printf("Worker %u handled %u packets\n", i, __atomic_load_n(&worker_stats[i].handled_packets, - __ATOMIC_ACQUIRE)); + __ATOMIC_RELAXED)); printf("Sanity test with all zero hashes done.\n"); /* pick two flows and check they go correctly */ @@ -163,7 +161,7 @@ sanity_test(struct worker_params *wp, struct rte_mempool *p) printf("Worker %u handled %u packets\n", i, __atomic_load_n( &worker_stats[i].handled_packets, - __ATOMIC_ACQUIRE)); + __ATOMIC_RELAXED)); printf("Sanity test with two hash values done\n"); } @@ -190,7 +188,7 @@ sanity_test(struct worker_params *wp, struct rte_mempool *p) for (i = 0; i < rte_lcore_count() - 1; i++) printf("Worker %u handled %u packets\n", i, __atomic_load_n(&worker_stats[i].handled_packets, - __ATOMIC_ACQUIRE)); + __ATOMIC_RELAXED)); printf("Sanity test with non-zero hashes done\n"); rte_mempool_put_bulk(p, (void *)bufs, BURST); @@ -276,23 +274,20 @@ handle_work_with_free_mbufs(void *arg) struct rte_mbuf *buf[8] __rte_cache_aligned; struct worker_params *wp = arg; struct rte_distributor *d = wp->dist; - unsigned int count = 0; unsigned int i; unsigned int num; unsigned int id = __atomic_fetch_add(&worker_idx, 1, __ATOMIC_RELAXED); num = rte_distributor_get_pkt(d, id, buf, NULL, 0); while (!quit) { - count += num; __atomic_fetch_add(&worker_stats[id].handled_packets, num, - __ATOMIC_ACQ_REL); + __ATOMIC_RELAXED); for (i = 0; i < num; i++) rte_pktmbuf_free(buf[i]); num = rte_distributor_get_pkt(d, id, buf, NULL, 0); } - count += num; __atomic_fetch_add(&worker_stats[id].handled_packets, num, - __ATOMIC_ACQ_REL); + __ATOMIC_RELAXED); rte_distributor_return_pkt(d, id, buf, num); return 0; } @@ -318,7 +313,6 @@ sanity_test_with_mbuf_alloc(struct worker_params *wp, struct rte_mempool *p) rte_distributor_process(d, NULL, 0); for (j = 0; j < BURST; j++) { bufs[j]->hash.usr = (i+j) << 1; - rte_mbuf_refcnt_set(bufs[j], 1); } rte_distributor_process(d, bufs, BURST); @@ -342,15 +336,10 @@ sanity_test_with_mbuf_alloc(struct worker_params *wp, struct rte_mempool *p) static int handle_work_for_shutdown_test(void *arg) { - struct rte_mbuf *pkt = NULL; struct rte_mbuf *buf[8] __rte_cache_aligned; struct worker_params *wp = arg; struct rte_distributor *d = wp->dist; - unsigned int count = 0; unsigned int num; - unsigned int total = 0; - unsigned int i; - unsigned int returned = 0; unsigned int zero_id = 0; unsigned int zero_unset; const unsigned int id = __atomic_fetch_add(&worker_idx, 1, @@ -368,11 +357,8 @@ handle_work_for_shutdown_test(void *arg) /* wait for quit single globally, or for worker zero, wait * for zero_quit */ while (!quit && !(id == zero_id && zero_quit)) { - count += num; __atomic_fetch_add(&worker_stats[id].handled_packets, num, - __ATOMIC_ACQ_REL); - for (i = 0; i < num; i++) - rte_pktmbuf_free(buf[i]); + __ATOMIC_RELAXED); num = rte_distributor_get_pkt(d, id, buf, NULL, 0); if (num > 0) { @@ -381,15 +367,12 @@ handle_work_for_shutdown_test(void *arg) false, __ATOMIC_ACQ_REL, __ATOMIC_ACQUIRE); } zero_id = __atomic_load_n(&zero_idx, __ATOMIC_ACQUIRE); - - total += num; } - count += num; - returned = rte_distributor_return_pkt(d, id, buf, num); - __atomic_fetch_add(&worker_stats[id].handled_packets, num, - __ATOMIC_ACQ_REL); + __ATOMIC_RELAXED); if (id == zero_id) { + rte_distributor_return_pkt(d, id, NULL, 0); + /* for worker zero, allow it to restart to pick up last packet * when all workers are shutting down. */ @@ -400,15 +383,11 @@ handle_work_for_shutdown_test(void *arg) while (!quit) { __atomic_fetch_add(&worker_stats[id].handled_packets, - num, __ATOMIC_ACQ_REL); - count += num; - rte_pktmbuf_free(pkt); + num, __ATOMIC_RELAXED); num = rte_distributor_get_pkt(d, id, buf, NULL, 0); } - returned = rte_distributor_return_pkt(d, - id, buf, num); - printf("Num returned = %d\n", returned); } + rte_distributor_return_pkt(d, id, buf, num); return 0; } @@ -424,7 +403,9 @@ sanity_test_with_worker_shutdown(struct worker_params *wp, { struct rte_distributor *d = wp->dist; struct rte_mbuf *bufs[BURST]; - unsigned i; + struct rte_mbuf *bufs2[BURST]; + unsigned int i; + unsigned int failed = 0; printf("=== Sanity test of worker shutdown ===\n"); @@ -450,16 +431,17 @@ sanity_test_with_worker_shutdown(struct worker_params *wp, */ /* get more buffers to queue up, again setting them to the same flow */ - if (rte_mempool_get_bulk(p, (void *)bufs, BURST) != 0) { + if (rte_mempool_get_bulk(p, (void *)bufs2, BURST) != 0) { printf("line %d: Error getting mbufs from pool\n", __LINE__); + rte_mempool_put_bulk(p, (void *)bufs, BURST); return -1; } for (i = 0; i < BURST; i++) - bufs[i]->hash.usr = 1; + bufs2[i]->hash.usr = 1; /* get worker zero to quit */ zero_quit = 1; - rte_distributor_process(d, bufs, BURST); + rte_distributor_process(d, bufs2, BURST); /* flush the distributor */ rte_distributor_flush(d); @@ -468,15 +450,21 @@ sanity_test_with_worker_shutdown(struct worker_params *wp, for (i = 0; i < rte_lcore_count() - 1; i++) printf("Worker %u handled %u packets\n", i, __atomic_load_n(&worker_stats[i].handled_packets, - __ATOMIC_ACQUIRE)); + __ATOMIC_RELAXED)); if (total_packet_count() != BURST * 2) { printf("Line %d: Error, not all packets flushed. " "Expected %u, got %u\n", __LINE__, BURST * 2, total_packet_count()); - return -1; + failed = 1; } + rte_mempool_put_bulk(p, (void *)bufs, BURST); + rte_mempool_put_bulk(p, (void *)bufs2, BURST); + + if (failed) + return -1; + printf("Sanity test with worker shutdown passed\n\n"); return 0; } @@ -490,7 +478,8 @@ test_flush_with_worker_shutdown(struct worker_params *wp, { struct rte_distributor *d = wp->dist; struct rte_mbuf *bufs[BURST]; - unsigned i; + unsigned int i; + unsigned int failed = 0; printf("=== Test flush fn with worker shutdown (%s) ===\n", wp->name); @@ -522,15 +511,20 @@ test_flush_with_worker_shutdown(struct worker_params *wp, for (i = 0; i < rte_lcore_count() - 1; i++) printf("Worker %u handled %u packets\n", i, __atomic_load_n(&worker_stats[i].handled_packets, - __ATOMIC_ACQUIRE)); + __ATOMIC_RELAXED)); if (total_packet_count() != BURST) { printf("Line %d: Error, not all packets flushed. " "Expected %u, got %u\n", __LINE__, BURST, total_packet_count()); - return -1; + failed = 1; } + rte_mempool_put_bulk(p, (void *)bufs, BURST); + + if (failed) + return -1; + printf("Flush test with worker shutdown passed\n\n"); return 0; } @@ -596,7 +590,10 @@ quit_workers(struct worker_params *wp, struct rte_mempool *p) const unsigned num_workers = rte_lcore_count() - 1; unsigned i; struct rte_mbuf *bufs[RTE_MAX_LCORE]; - rte_mempool_get_bulk(p, (void *)bufs, num_workers); + if (rte_mempool_get_bulk(p, (void *)bufs, num_workers) != 0) { + printf("line %d: Error getting mbufs from pool\n", __LINE__); + return; + } zero_quit = 0; quit = 1; @@ -604,11 +601,12 @@ quit_workers(struct worker_params *wp, struct rte_mempool *p) bufs[i]->hash.usr = i << 1; rte_distributor_process(d, bufs, num_workers); - rte_mempool_put_bulk(p, (void *)bufs, num_workers); - rte_distributor_process(d, NULL, 0); rte_distributor_flush(d); rte_eal_mp_wait_lcore(); + + rte_mempool_put_bulk(p, (void *)bufs, num_workers); + quit = 0; worker_idx = 0; zero_idx = RTE_MAX_LCORE; -- 2.17.1
next prev parent reply other threads:[~2020-10-09 22:05 UTC|newest] Thread overview: 164+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <CGME20200915193456eucas1p1a38a0bb16e9c81ed587f916aeb8c41e5@eucas1p1.samsung.com> 2020-09-15 19:34 ` [dpdk-dev] [PATCH v1 0/6] fix distributor synchronization issues Lukasz Wojciechowski [not found] ` <CGME20200915193457eucas1p2adbe25c41a0e4ef16c029e7bff104503@eucas1p2.samsung.com> 2020-09-15 19:34 ` [dpdk-dev] [PATCH v1 1/6] app/test: fix deadlock in distributor test Lukasz Wojciechowski 2020-09-17 11:21 ` David Hunt 2020-09-17 14:01 ` Lukasz Wojciechowski [not found] ` <CGME20200915193457eucas1p2321d28b6abf69f244cd7c1e61ed0620e@eucas1p2.samsung.com> 2020-09-15 19:34 ` [dpdk-dev] [PATCH v1 2/6] app/test: synchronize statistics between lcores Lukasz Wojciechowski 2020-09-17 11:50 ` David Hunt [not found] ` <CGME20200915193458eucas1p1d9308e63063eda28f96eedba3a361a2b@eucas1p1.samsung.com> 2020-09-15 19:34 ` [dpdk-dev] [PATCH v1 3/6] app/test: fix freeing mbufs in distributor tests Lukasz Wojciechowski 2020-09-17 12:34 ` David Hunt 2020-09-22 12:42 ` David Marchand 2020-09-23 1:55 ` Lukasz Wojciechowski [not found] ` <CGME20200915193459eucas1p19f5d1cbea87d7dc3bbd2638cdb96a31b@eucas1p1.samsung.com> 2020-09-15 19:34 ` [dpdk-dev] [PATCH v1 4/6] app/test: collect return mbufs in distributor test Lukasz Wojciechowski 2020-09-17 12:37 ` David Hunt [not found] ` <CGME20200915193500eucas1p2b079e1dcfd2d54e01a5630609b82b370@eucas1p2.samsung.com> 2020-09-15 19:34 ` [dpdk-dev] [PATCH v1 5/6] distributor: fix missing handshake synchronization Lukasz Wojciechowski 2020-09-17 13:22 ` David Hunt [not found] ` <CGME20200915193501eucas1p2333f0b08077c06ba04b89ce192072f9a@eucas1p2.samsung.com> 2020-09-15 19:34 ` [dpdk-dev] [PATCH v1 6/6] distributor: fix handshake deadlock Lukasz Wojciechowski 2020-09-17 13:28 ` David Hunt [not found] ` <CGME20200923014717eucas1p18699ad84d206e786a84f20dab9b65c33@eucas1p1.samsung.com> 2020-09-23 1:47 ` [dpdk-dev] [PATCH v2 0/8] fix distributor synchronization issues Lukasz Wojciechowski [not found] ` <CGME20200923014718eucas1p11fdcd774fef7b9e077e14e01c9f951d5@eucas1p1.samsung.com> 2020-09-23 1:47 ` [dpdk-dev] [PATCH v2 1/8] app/test: fix deadlock in distributor test Lukasz Wojciechowski [not found] ` <CGME20200923014719eucas1p2f26000109e86a649796e902c30e58bf0@eucas1p2.samsung.com> 2020-09-23 1:47 ` [dpdk-dev] [PATCH v2 2/8] app/test: synchronize statistics between lcores Lukasz Wojciechowski 2020-09-23 4:30 ` Honnappa Nagarahalli 2020-09-23 12:47 ` Lukasz Wojciechowski [not found] ` <CGME20200923014719eucas1p165c419cff4f265cff8add8cc818210ff@eucas1p1.samsung.com> 2020-09-23 1:47 ` [dpdk-dev] [PATCH v2 3/8] app/test: fix freeing mbufs in distributor tests Lukasz Wojciechowski [not found] ` <CGME20200923014720eucas1p2bd5887c96c24839f364810a1bbe840da@eucas1p2.samsung.com> 2020-09-23 1:47 ` [dpdk-dev] [PATCH v2 4/8] app/test: collect return mbufs in distributor test Lukasz Wojciechowski [not found] ` <CGME20200923014721eucas1p1d22ac56c9b9e4fb49ac73d72d51a7a23@eucas1p1.samsung.com> 2020-09-23 1:47 ` [dpdk-dev] [PATCH v2 5/8] distributor: fix missing handshake synchronization Lukasz Wojciechowski [not found] ` <CGME20200923014722eucas1p2c2ef63759f4b800c1b5a80094e07e384@eucas1p2.samsung.com> 2020-09-23 1:47 ` [dpdk-dev] [PATCH v2 6/8] distributor: fix handshake deadlock Lukasz Wojciechowski [not found] ` <CGME20200923014723eucas1p2a7c7210a55289b3739faff4f5ed72e30@eucas1p2.samsung.com> 2020-09-23 1:47 ` [dpdk-dev] [PATCH v2 7/8] distributor: do not use oldpkt when not needed Lukasz Wojciechowski [not found] ` <CGME20200923014724eucas1p13d3c0428a15bea26def7a4343251e4e4@eucas1p1.samsung.com> 2020-09-23 1:47 ` [dpdk-dev] [PATCH v2 8/8] distributor: align API documentation with code Lukasz Wojciechowski 2020-09-23 8:46 ` [dpdk-dev] [PATCH v2 0/8] fix distributor synchronization issues David Hunt 2020-09-23 14:03 ` Lukasz Wojciechowski 2020-09-23 8:47 ` David Hunt [not found] ` <CGME20200923132544eucas1p29470697e7cb6621cc65e6e676c3e5d69@eucas1p2.samsung.com> 2020-09-23 13:25 ` [dpdk-dev] [PATCH v3 " Lukasz Wojciechowski [not found] ` <CGME20200923132545eucas1p10db12d91121c9afdbab338bb60c8ed37@eucas1p1.samsung.com> 2020-09-23 13:25 ` [dpdk-dev] [PATCH v3 1/8] app/test: fix deadlock in distributor test Lukasz Wojciechowski [not found] ` <CGME20200923132546eucas1p212b6eede801514b544d82d41f5b7e4b8@eucas1p2.samsung.com> 2020-09-23 13:25 ` [dpdk-dev] [PATCH v3 2/8] app/test: synchronize statistics between lcores Lukasz Wojciechowski [not found] ` <CGME20200923132547eucas1p130620b0d5f3080a7a57234838a992e0e@eucas1p1.samsung.com> 2020-09-23 13:25 ` [dpdk-dev] [PATCH v3 3/8] app/test: fix freeing mbufs in distributor tests Lukasz Wojciechowski [not found] ` <CGME20200923132548eucas1p2a54328cddb79ae5e876eb104217d585f@eucas1p2.samsung.com> 2020-09-23 13:25 ` [dpdk-dev] [PATCH v3 4/8] app/test: collect return mbufs in distributor test Lukasz Wojciechowski [not found] ` <CGME20200923132549eucas1p29fc391c3f236fa704ff800774ab851f0@eucas1p2.samsung.com> 2020-09-23 13:25 ` [dpdk-dev] [PATCH v3 5/8] distributor: fix missing handshake synchronization Lukasz Wojciechowski [not found] ` <CGME20200923132550eucas1p2ce158dd81ccc04abcab4130d8cb391f4@eucas1p2.samsung.com> 2020-09-23 13:25 ` [dpdk-dev] [PATCH v3 6/8] distributor: fix handshake deadlock Lukasz Wojciechowski [not found] ` <CGME20200923132550eucas1p1ce21011562d0a00cccfd4ae3f0be4ff9@eucas1p1.samsung.com> 2020-09-23 13:25 ` [dpdk-dev] [PATCH v3 7/8] distributor: do not use oldpkt when not needed Lukasz Wojciechowski [not found] ` <CGME20200923132551eucas1p214a5f78c61e891c5e7b6cddc038d0e2e@eucas1p2.samsung.com> 2020-09-23 13:25 ` [dpdk-dev] [PATCH v3 8/8] distributor: align API documentation with code Lukasz Wojciechowski 2020-09-25 12:31 ` [dpdk-dev] [PATCH v3 0/8] fix distributor synchronization issues David Marchand 2020-09-25 22:42 ` Lukasz Wojciechowski [not found] ` <CGME20200925224216eucas1p28b73b1b56c6f3372db4fcaba0890522f@eucas1p2.samsung.com> 2020-09-25 22:42 ` [dpdk-dev] [PATCH v4 " Lukasz Wojciechowski [not found] ` <CGME20200925224216eucas1p1e8e1d0ecab4bbbf6e43b117c1d210649@eucas1p1.samsung.com> 2020-09-25 22:42 ` [dpdk-dev] [PATCH v4 1/8] test/distributor: fix deadlock with freezed worker Lukasz Wojciechowski 2020-09-27 23:34 ` Honnappa Nagarahalli 2020-09-30 20:22 ` Lukasz Wojciechowski [not found] ` <CGME20200925224217eucas1p1bb5f73109b4aeed8f2badf311fa8dfb5@eucas1p1.samsung.com> 2020-09-25 22:42 ` [dpdk-dev] [PATCH v4 2/8] test/distributor: synchronize lcores statistics Lukasz Wojciechowski 2020-09-29 5:49 ` Honnappa Nagarahalli 2020-10-02 11:25 ` Lukasz Wojciechowski 2020-10-08 20:47 ` Lukasz Wojciechowski 2020-10-16 5:43 ` Honnappa Nagarahalli 2020-10-16 12:43 ` Lukasz Wojciechowski 2020-10-16 12:58 ` Lukasz Wojciechowski 2020-10-16 15:42 ` Honnappa Nagarahalli 2020-10-17 3:34 ` Lukasz Wojciechowski [not found] ` <CGME20200925224218eucas1p2383ff0ebdaee18b581f5f731476f05ab@eucas1p2.samsung.com> 2020-09-25 22:42 ` [dpdk-dev] [PATCH v4 3/8] distributor: do not use oldpkt when not needed Lukasz Wojciechowski [not found] ` <CGME20200925224218eucas1p221c1af87b0e4547547106503cd336afd@eucas1p2.samsung.com> 2020-09-25 22:42 ` [dpdk-dev] [PATCH v4 4/8] test/distributor: fix freeing mbufs Lukasz Wojciechowski [not found] ` <CGME20200925224219eucas1p2d61447fef421573d653d2376423ecce0@eucas1p2.samsung.com> 2020-09-25 22:42 ` [dpdk-dev] [PATCH v4 5/8] test/distributor: collect return mbufs Lukasz Wojciechowski [not found] ` <CGME20200925224220eucas1p1a44e99a1d7750d37d5aefa61f329209b@eucas1p1.samsung.com> 2020-09-25 22:42 ` [dpdk-dev] [PATCH v4 6/8] distributor: fix missing handshake synchronization Lukasz Wojciechowski [not found] ` <CGME20200925224221eucas1p151297834da32a0f7cfdffc120f57ab3a@eucas1p1.samsung.com> 2020-09-25 22:42 ` [dpdk-dev] [PATCH v4 7/8] distributor: fix handshake deadlock Lukasz Wojciechowski [not found] ` <CGME20200925224222eucas1p1b10891c21bfef6784777526af4443dde@eucas1p1.samsung.com> 2020-09-25 22:42 ` [dpdk-dev] [PATCH v4 8/8] distributor: align API documentation with code Lukasz Wojciechowski [not found] ` <CGME20201008052336eucas1p16b5b1600683e33ddba30479b7fd62ce6@eucas1p1.samsung.com> 2020-10-08 5:23 ` [dpdk-dev] [PATCH v5 00/15] fix distributor synchronization issues Lukasz Wojciechowski [not found] ` <CGME20201008052337eucas1p22b9e89987caf151ba8771442385fec16@eucas1p2.samsung.com> 2020-10-08 5:23 ` [dpdk-dev] [PATCH v5 01/15] distributor: fix missing handshake synchronization Lukasz Wojciechowski [not found] ` <CGME20201008052338eucas1p2d26a8705b17d07fd24056f0aeaf3504e@eucas1p2.samsung.com> 2020-10-08 5:23 ` [dpdk-dev] [PATCH v5 02/15] distributor: fix handshake deadlock Lukasz Wojciechowski [not found] ` <CGME20201008052339eucas1p1a4e571cc3f5a277badff9d352ad7da8e@eucas1p1.samsung.com> 2020-10-08 5:23 ` [dpdk-dev] [PATCH v5 03/15] distributor: do not use oldpkt when not needed Lukasz Wojciechowski 2020-10-08 8:13 ` David Hunt [not found] ` <CGME20201008052339eucas1p15697f457b8b96809d04f737e041af08a@eucas1p1.samsung.com> 2020-10-08 5:23 ` [dpdk-dev] [PATCH v5 04/15] distributor: handle worker shutdown in burst mode Lukasz Wojciechowski 2020-10-08 14:26 ` David Hunt 2020-10-08 21:07 ` Lukasz Wojciechowski 2020-10-09 12:13 ` David Hunt 2020-10-09 20:43 ` Lukasz Wojciechowski [not found] ` <CGME20201008052340eucas1p1451f2bf1b6475067491753274547b837@eucas1p1.samsung.com> 2020-10-08 5:23 ` [dpdk-dev] [PATCH v5 05/15] test/distributor: fix shutdown of busy worker Lukasz Wojciechowski [not found] ` <CGME20201008052341eucas1p2379b186206e5bf481e3c680de46e5c16@eucas1p2.samsung.com> 2020-10-08 5:23 ` [dpdk-dev] [PATCH v5 06/15] test/distributor: synchronize lcores statistics Lukasz Wojciechowski [not found] ` <CGME20201008052342eucas1p2376e75d9ac38f5054ca393b0ef7e663d@eucas1p2.samsung.com> 2020-10-08 5:23 ` [dpdk-dev] [PATCH v5 07/15] distributor: fix return pkt calls in single mode Lukasz Wojciechowski 2020-10-08 14:32 ` David Hunt [not found] ` <CGME20201008052342eucas1p19e8474360d1f7dacd4164b3e21e54290@eucas1p1.samsung.com> 2020-10-08 5:23 ` [dpdk-dev] [PATCH v5 08/15] test/distributor: fix freeing mbufs Lukasz Wojciechowski [not found] ` <CGME20201008052343eucas1p1649655353d6c76cdf6320a04e8d43f32@eucas1p1.samsung.com> 2020-10-08 5:23 ` [dpdk-dev] [PATCH v5 09/15] test/distributor: collect return mbufs Lukasz Wojciechowski [not found] ` <CGME20201008052344eucas1p270b04ad2c4346e6beb5f5ef844827085@eucas1p2.samsung.com> 2020-10-08 5:23 ` [dpdk-dev] [PATCH v5 10/15] distributor: align API documentation with code Lukasz Wojciechowski 2020-10-08 14:35 ` David Hunt [not found] ` <CGME20201008052345eucas1p29e14456610d4ed48c09b8cf7bd338e18@eucas1p2.samsung.com> 2020-10-08 5:23 ` [dpdk-dev] [PATCH v5 11/15] test/distributor: replace delays with spin locks Lukasz Wojciechowski 2020-10-09 12:23 ` David Hunt [not found] ` <CGME20201008052345eucas1p17a05f99986032885a0316d3419cdea2d@eucas1p1.samsung.com> 2020-10-08 5:23 ` [dpdk-dev] [PATCH v5 12/15] distributor: fix scalar matching Lukasz Wojciechowski 2020-10-09 12:31 ` David Hunt 2020-10-09 12:35 ` David Hunt 2020-10-09 21:02 ` Lukasz Wojciechowski [not found] ` <CGME20201008052346eucas1p15b04bf84cafc2ba52bbe063f57d08c39@eucas1p1.samsung.com> 2020-10-08 5:23 ` [dpdk-dev] [PATCH v5 13/15] test/distributor: add test with packets marking Lukasz Wojciechowski 2020-10-09 12:50 ` David Hunt 2020-10-09 21:12 ` Lukasz Wojciechowski [not found] ` <CGME20201008052347eucas1p1570239523104a0d609c928d8b149ebdf@eucas1p1.samsung.com> 2020-10-08 5:23 ` [dpdk-dev] [PATCH v5 14/15] distributor: fix flushing in flight packets Lukasz Wojciechowski 2020-10-09 13:10 ` David Hunt [not found] ` <CGME20201008052348eucas1p183cfbe10d10bd98c7a63a34af98b80df@eucas1p1.samsung.com> 2020-10-08 5:23 ` [dpdk-dev] [PATCH v5 15/15] distributor: fix clearing returns buffer Lukasz Wojciechowski 2020-10-09 13:12 ` David Hunt 2020-10-08 7:30 ` [dpdk-dev] [PATCH v5 00/15] fix distributor synchronization issues David Marchand 2020-10-08 21:16 ` Lukasz Wojciechowski 2020-10-09 12:53 ` David Marchand 2020-10-09 21:41 ` Lukasz Wojciechowski 2020-10-09 23:25 ` Lukasz Wojciechowski 2020-10-10 8:12 ` David Marchand 2020-10-10 8:15 ` David Marchand 2020-10-10 16:27 ` Lukasz Wojciechowski [not found] ` <CGME20201009220207eucas1p1d83b63b4f0e05cbaf0a58f7f01ec0052@eucas1p1.samsung.com> 2020-10-09 22:01 ` [dpdk-dev] [PATCH v6 " Lukasz Wojciechowski [not found] ` <CGME20201009220229eucas1p17ad627f31005ed506c5422b93ad6d112@eucas1p1.samsung.com> 2020-10-09 22:01 ` [dpdk-dev] [PATCH v6 01/15] distributor: fix missing handshake synchronization Lukasz Wojciechowski [not found] ` <CGME20201009220231eucas1p217c48d880aaa7f15e4351f92eede01b6@eucas1p2.samsung.com> 2020-10-09 22:01 ` [dpdk-dev] [PATCH v6 02/15] distributor: fix handshake deadlock Lukasz Wojciechowski [not found] ` <CGME20201009220232eucas1p201d3b81574b7ec42ff3fb18f4bbfcbea@eucas1p2.samsung.com> 2020-10-09 22:01 ` [dpdk-dev] [PATCH v6 03/15] distributor: do not use oldpkt when not needed Lukasz Wojciechowski [not found] ` <CGME20201009220233eucas1p285b4d01402c0c8bcfd018673afeb05eb@eucas1p2.samsung.com> 2020-10-09 22:01 ` [dpdk-dev] [PATCH v6 04/15] distributor: handle worker shutdown in burst mode Lukasz Wojciechowski [not found] ` <CGME20201009220235eucas1p17ded8b5bb42f2fef159a5715ef6fbca7@eucas1p1.samsung.com> 2020-10-09 22:01 ` [dpdk-dev] [PATCH v6 05/15] test/distributor: fix shutdown of busy worker Lukasz Wojciechowski [not found] ` <CGME20201009220236eucas1p192e34b3bbf00681ec90de296abd1a6b5@eucas1p1.samsung.com> 2020-10-09 22:01 ` [dpdk-dev] [PATCH v6 06/15] test/distributor: synchronize lcores statistics Lukasz Wojciechowski [not found] ` <CGME20201009220238eucas1p2e86c0026064774e5b494c16c7fd384ec@eucas1p2.samsung.com> 2020-10-09 22:01 ` [dpdk-dev] [PATCH v6 07/15] distributor: fix return pkt calls in single mode Lukasz Wojciechowski [not found] ` <CGME20201009220246eucas1p1283b16f1f54c572b5952ca9334d667da@eucas1p1.samsung.com> 2020-10-09 22:01 ` Lukasz Wojciechowski [this message] [not found] ` <CGME20201009220247eucas1p1a783663e586127cbfd406a61e13c40eb@eucas1p1.samsung.com> 2020-10-09 22:01 ` [dpdk-dev] [PATCH v6 09/15] test/distributor: collect return mbufs Lukasz Wojciechowski [not found] ` <CGME20201009220248eucas1p156346857c1aab2340ccd7549abdce966@eucas1p1.samsung.com> 2020-10-09 22:01 ` [dpdk-dev] [PATCH v6 10/15] distributor: align API documentation with code Lukasz Wojciechowski [not found] ` <CGME20201009220250eucas1p18587737171d82a9bde52c767ee8ed24b@eucas1p1.samsung.com> 2020-10-09 22:01 ` [dpdk-dev] [PATCH v6 11/15] test/distributor: replace delays with spin locks Lukasz Wojciechowski [not found] ` <CGME20201009220253eucas1p14078ab159186d2c26e787b3b2ed68062@eucas1p1.samsung.com> 2020-10-09 22:01 ` [dpdk-dev] [PATCH v6 12/15] distributor: fix scalar matching Lukasz Wojciechowski [not found] ` <CGME20201009220253eucas1p2c0e27c3a495cb9603102b2cbf8a8f706@eucas1p2.samsung.com> 2020-10-09 22:02 ` [dpdk-dev] [PATCH v6 13/15] test/distributor: add test with packets marking Lukasz Wojciechowski [not found] ` <CGME20201009220254eucas1p187bad9a066f00ee4c05ec6ca7fb4decd@eucas1p1.samsung.com> 2020-10-09 22:02 ` [dpdk-dev] [PATCH v6 14/15] distributor: fix flushing in flight packets Lukasz Wojciechowski [not found] ` <CGME20201009220255eucas1p1e7a286684291e586ebb22cb0a2117e50@eucas1p1.samsung.com> 2020-10-09 22:02 ` [dpdk-dev] [PATCH v6 15/15] distributor: fix clearing returns buffer Lukasz Wojciechowski [not found] ` <CGME20201010160513eucas1p1fbacf1f82c40d65aef40634f245c4206@eucas1p1.samsung.com> 2020-10-10 16:04 ` [dpdk-dev] [PATCH v7 00/16] fix distributor synchronization issues Lukasz Wojciechowski [not found] ` <CGME20201010160515eucas1p18003d01d8217cdf04be3cba2e32f969f@eucas1p1.samsung.com> 2020-10-10 16:04 ` [dpdk-dev] [PATCH v7 01/16] distributor: fix missing handshake synchronization Lukasz Wojciechowski 2020-10-15 23:47 ` Honnappa Nagarahalli 2020-10-17 3:13 ` Lukasz Wojciechowski [not found] ` <CGME20201010160517eucas1p2141c0bb6097a05aa99ed8efdf5fb7512@eucas1p2.samsung.com> 2020-10-10 16:04 ` [dpdk-dev] [PATCH v7 02/16] distributor: fix handshake deadlock Lukasz Wojciechowski [not found] ` <CGME20201010160523eucas1p19287c5bf3b7e2818c730ae23f514853f@eucas1p1.samsung.com> 2020-10-10 16:04 ` [dpdk-dev] [PATCH v7 03/16] distributor: do not use oldpkt when not needed Lukasz Wojciechowski [not found] ` <CGME20201010160525eucas1p2314810086b9dd1c8cddf90eabe800363@eucas1p2.samsung.com> 2020-10-10 16:04 ` [dpdk-dev] [PATCH v7 04/16] distributor: handle worker shutdown in burst mode Lukasz Wojciechowski [not found] ` <CGME20201010160527eucas1p2f55cb0fc45bf3647234cdfa251e542fc@eucas1p2.samsung.com> 2020-10-10 16:04 ` [dpdk-dev] [PATCH v7 05/16] test/distributor: fix shutdown of busy worker Lukasz Wojciechowski [not found] ` <CGME20201010160528eucas1p2b9b8189aef51c18d116f97ccebf5719c@eucas1p2.samsung.com> 2020-10-10 16:04 ` [dpdk-dev] [PATCH v7 06/16] test/distributor: synchronize lcores statistics Lukasz Wojciechowski 2020-10-16 5:13 ` Honnappa Nagarahalli 2020-10-17 3:23 ` Lukasz Wojciechowski [not found] ` <CGME20201010160530eucas1p15baba6fba44a7caee8b4b0ff778a961d@eucas1p1.samsung.com> 2020-10-10 16:04 ` [dpdk-dev] [PATCH v7 07/16] distributor: fix return pkt calls in single mode Lukasz Wojciechowski [not found] ` <CGME20201010160536eucas1p2b20e729b90d66eddd03618e98d38c179@eucas1p2.samsung.com> 2020-10-10 16:04 ` [dpdk-dev] [PATCH v7 08/16] test/distributor: fix freeing mbufs Lukasz Wojciechowski 2020-10-16 5:12 ` Honnappa Nagarahalli 2020-10-17 3:28 ` Lukasz Wojciechowski [not found] ` <CGME20201010160538eucas1p19298667f236209cfeaa4745f9bb3aae6@eucas1p1.samsung.com> 2020-10-10 16:05 ` [dpdk-dev] [PATCH v7 09/16] test/distributor: collect return mbufs Lukasz Wojciechowski 2020-10-16 4:53 ` Honnappa Nagarahalli 2020-10-16 5:13 ` Honnappa Nagarahalli 2020-10-17 3:29 ` Lukasz Wojciechowski [not found] ` <CGME20201010160540eucas1p2d942834b4749672c433a37a8fe520bd1@eucas1p2.samsung.com> 2020-10-10 16:05 ` [dpdk-dev] [PATCH v7 10/16] distributor: align API documentation with code Lukasz Wojciechowski [not found] ` <CGME20201010160541eucas1p11d079bad2b7500f9ab927463e1eeac04@eucas1p1.samsung.com> 2020-10-10 16:05 ` [dpdk-dev] [PATCH v7 11/16] test/distributor: replace delays with spin locks Lukasz Wojciechowski [not found] ` <CGME20201010160548eucas1p193e4f234da1005b91f22a8e7cb1d3226@eucas1p1.samsung.com> 2020-10-10 16:05 ` [dpdk-dev] [PATCH v7 12/16] distributor: fix scalar matching Lukasz Wojciechowski [not found] ` <CGME20201010160549eucas1p1eba7cb8e4e9ba9200e9cd498137848c3@eucas1p1.samsung.com> 2020-10-10 16:05 ` [dpdk-dev] [PATCH v7 13/16] test/distributor: add test with packets marking Lukasz Wojciechowski [not found] ` <CGME20201010160551eucas1p171642aa2d451e501287915824bfe7c24@eucas1p1.samsung.com> 2020-10-10 16:05 ` [dpdk-dev] [PATCH v7 14/16] distributor: fix flushing in flight packets Lukasz Wojciechowski [not found] ` <CGME20201010160552eucas1p2efdec872c4aea2b63af29c84e9a5b52d@eucas1p2.samsung.com> 2020-10-10 16:05 ` [dpdk-dev] [PATCH v7 15/16] distributor: fix clearing returns buffer Lukasz Wojciechowski [not found] ` <CGME20201010160605eucas1p1ff6b4cb5065e1355cb8eeafd4696abaf@eucas1p1.samsung.com> 2020-10-10 16:05 ` [dpdk-dev] [PATCH v7 16/16] test/distributor: ensure all packets are delivered Lukasz Wojciechowski 2020-10-12 7:46 ` David Hunt [not found] ` <CGME20201017030709eucas1p11285f14ee4fe2e79ad5791b0e9b9c653@eucas1p1.samsung.com> 2020-10-17 3:06 ` [dpdk-dev] [PATCH v8 00/17] fix distributor synchronization issues Lukasz Wojciechowski [not found] ` <CGME20201017030710eucas1p17fb6129fd3414b4b6b70dcd593c01a40@eucas1p1.samsung.com> 2020-10-17 3:06 ` [dpdk-dev] [PATCH v8 01/17] distributor: fix missing handshake synchronization Lukasz Wojciechowski 2020-10-17 21:05 ` Honnappa Nagarahalli [not found] ` <CGME20201017030711eucas1p1b70f13e4636ad7c3e842b48726ae1845@eucas1p1.samsung.com> 2020-10-17 3:06 ` [dpdk-dev] [PATCH v8 02/17] distributor: fix handshake deadlock Lukasz Wojciechowski [not found] ` <CGME20201017030711eucas1p14855de461cd9d6a4fd3e4bac031b53e5@eucas1p1.samsung.com> 2020-10-17 3:06 ` [dpdk-dev] [PATCH v8 03/17] distributor: do not use oldpkt when not needed Lukasz Wojciechowski [not found] ` <CGME20201017030712eucas1p1ce19efadc60ed2888dc615cbb2549bdc@eucas1p1.samsung.com> 2020-10-17 3:06 ` [dpdk-dev] [PATCH v8 04/17] distributor: handle worker shutdown in burst mode Lukasz Wojciechowski [not found] ` <CGME20201017030713eucas1p1173c2178e647be341db2da29078c8d5d@eucas1p1.samsung.com> 2020-10-17 3:06 ` [dpdk-dev] [PATCH v8 05/17] test/distributor: fix shutdown of busy worker Lukasz Wojciechowski [not found] ` <CGME20201017030714eucas1p292bd71a85ea6d638256c21d279c8d533@eucas1p2.samsung.com> 2020-10-17 3:06 ` [dpdk-dev] [PATCH v8 06/17] distributor: fix return pkt calls in single mode Lukasz Wojciechowski [not found] ` <CGME20201017030715eucas1p2366d1f0ce16a219b21542bb26e4588a6@eucas1p2.samsung.com> 2020-10-17 3:06 ` [dpdk-dev] [PATCH v8 07/17] test/distributor: fix freeing mbufs Lukasz Wojciechowski [not found] ` <CGME20201017030716eucas1p2911112ee3c9e0a3f3dd9a811cbafe77b@eucas1p2.samsung.com> 2020-10-17 3:06 ` [dpdk-dev] [PATCH v8 08/17] test/distributor: synchronize lcores statistics Lukasz Wojciechowski 2020-10-17 21:11 ` Honnappa Nagarahalli [not found] ` <CGME20201017030717eucas1p1ae327494575f851af4bdf77f3e8c83ae@eucas1p1.samsung.com> 2020-10-17 3:06 ` [dpdk-dev] [PATCH v8 09/17] test/distributor: collect return mbufs Lukasz Wojciechowski [not found] ` <CGME20201017030718eucas1p256e1f934af12af2a6b07640c9de7a766@eucas1p2.samsung.com> 2020-10-17 3:06 ` [dpdk-dev] [PATCH v8 10/17] distributor: align API documentation with code Lukasz Wojciechowski [not found] ` <CGME20201017030719eucas1p13b13db1fbc3715e19e81bb4be4635b7d@eucas1p1.samsung.com> 2020-10-17 3:06 ` [dpdk-dev] [PATCH v8 11/17] test/distributor: replace delays with spin locks Lukasz Wojciechowski [not found] ` <CGME20201017030720eucas1p1fe683996638c3692cae530e67271b79b@eucas1p1.samsung.com> 2020-10-17 3:06 ` [dpdk-dev] [PATCH v8 12/17] distributor: fix scalar matching Lukasz Wojciechowski [not found] ` <CGME20201017030720eucas1p1359382fafa661abb1ba82fa65e19562c@eucas1p1.samsung.com> 2020-10-17 3:06 ` [dpdk-dev] [PATCH v8 13/17] test/distributor: add test with packets marking Lukasz Wojciechowski [not found] ` <CGME20201017030721eucas1p2a1032e6c78d99f903ea539e49f057a83@eucas1p2.samsung.com> 2020-10-17 3:06 ` [dpdk-dev] [PATCH v8 14/17] distributor: fix flushing in flight packets Lukasz Wojciechowski [not found] ` <CGME20201017030721eucas1p1f3307c1e4e69c65186ad8f2fb18f5f74@eucas1p1.samsung.com> 2020-10-17 3:06 ` [dpdk-dev] [PATCH v8 15/17] distributor: fix clearing returns buffer Lukasz Wojciechowski [not found] ` <CGME20201017030722eucas1p107dc8d3eb2d9ef620065deba31cf08ed@eucas1p1.samsung.com> 2020-10-17 3:07 ` [dpdk-dev] [PATCH v8 16/17] test/distributor: ensure all packets are delivered Lukasz Wojciechowski [not found] ` <CGME20201017030723eucas1p16904cabfd94afa4fe751c072077e09ae@eucas1p1.samsung.com> 2020-10-17 3:07 ` [dpdk-dev] [PATCH v8 17/17] test/distributor: fix quitting workers Lukasz Wojciechowski 2020-10-17 21:15 ` Honnappa Nagarahalli 2020-10-19 8:32 ` [dpdk-dev] [PATCH v8 00/17] fix distributor synchronization issues David Marchand
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20201009220202.20834-9-l.wojciechow@partner.samsung.com \ --to=l.wojciechow@partner.samsung.com \ --cc=bruce.richardson@intel.com \ --cc=david.hunt@intel.com \ --cc=dev@dpdk.org \ --cc=stable@dpdk.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
DPDK patches and discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \ dev@dpdk.org public-inbox-index dev Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git