From: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com> To: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>, David Hunt <david.hunt@intel.com>, Bruce Richardson <bruce.richardson@intel.com> Cc: "dev@dpdk.org" <dev@dpdk.org>, "stable@dpdk.org" <stable@dpdk.org>, nd <nd@arm.com>, "\"'Lukasz Wojciechowski'\"," <l.wojciechow@partner.samsung.com> Subject: Re: [dpdk-dev] [PATCH v7 08/16] test/distributor: fix freeing mbufs Date: Sat, 17 Oct 2020 05:28:45 +0200 Message-ID: <09ec498f-6dea-6100-ca39-678a3e4c6fde@partner.samsung.com> (raw) In-Reply-To: <DBAPR08MB581461DA323C5307306FB97098030@DBAPR08MB5814.eurprd08.prod.outlook.com> Hi Honnappa, W dniu 16.10.2020 o 07:12, Honnappa Nagarahalli pisze: > <snip> > >> 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); > I think it is better to make this and other statistics changes below in commit 6/16. It will be in line with the commit log as well. I changed the order of patches to avoid duplicated changes in the code. > >> 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 -- Lukasz Wojciechowski Principal Software Engineer Samsung R&D Institute Poland Samsung Electronics Office +48 22 377 88 25 l.wojciechow@partner.samsung.com
next prev parent reply other threads:[~2020-10-17 3:29 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 ` [dpdk-dev] [PATCH v6 08/15] test/distributor: fix freeing mbufs Lukasz Wojciechowski [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 [this message] [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=09ec498f-6dea-6100-ca39-678a3e4c6fde@partner.samsung.com \ --to=l.wojciechow@partner.samsung.com \ --cc=Honnappa.Nagarahalli@arm.com \ --cc=bruce.richardson@intel.com \ --cc=david.hunt@intel.com \ --cc=dev@dpdk.org \ --cc=nd@arm.com \ --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