DPDK patches and discussions
 help / color / mirror / Atom feed
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 v4 2/8] test/distributor: synchronize lcores statistics
Date: Fri, 2 Oct 2020 13:25:19 +0200	[thread overview]
Message-ID: <cd8f0556-8030-8d9c-5a7a-2fb81fd2328e@partner.samsung.com> (raw)
In-Reply-To: <DBAPR08MB58146A4CFB528780AAEF4D3098320@DBAPR08MB5814.eurprd08.prod.outlook.com>

Hi Honnappa,

Many thanks for the review!

I'll write my answers here not inline as it would be easier to read them 
in one place, I think.
So first of all I agree with you in 2 things:
1) all uses of statistics must be atomic and lack of that caused most of 
the problems
2) it would be better to replace barrier and memset in 
clear_packet_count() with atomic stores as you suggested

So I will apply both of above.

However I wasn't not fully convinced on changing acquire/release to 
relaxed. It wood be perfectly ok
if it would look like in this Herb Sutter's example: 
https://youtu.be/KeLBd2EJLOU?t=4170
But in his case the counters are cleared before worker threads start and 
are printout after they are completed.

In case of the dpdk distributor tests both worker and main cores are 
running at the same time. In the sanity_test, the statistics are cleared 
and verified few times for different hashes of packages. The worker 
cores are not stopped at this time and they continue their loops in 
handle procedure. Verification made in main core is an exchange of data 
as the current statistics indicate how the test will result.

So as I wasn't convinced, I run some tests with both both relaxed and 
acquire/release modes and they both fail :(
The failures caused by statistics errors to number of tests ratio for 
200000 tests was:
for relaxed: 0,000790562
for acq/rel: 0,000091321


That's why I'm going to modify tests in such way, that they would:
1) clear statistics
2) launch worker threads
3) run test
4) wait for workers procedures to complete
5) check stats, verify results and print them out

This way worker main core will use (clear or verify) stats only when 
there are no worker threads. This would make things simpler and allowing 
to focus on testing the distributor not tests. And of course relaxed 
mode would be enough!


Best regards
Lukasz


W dniu 29.09.2020 o 07:49, Honnappa Nagarahalli pisze:
> <snip>
>
>> Statistics of handled packets are cleared and read on main lcore, while they
>> are increased in workers handlers on different lcores.
>>
>> Without synchronization occasionally showed invalid values.
>> This patch uses atomic acquire/release mechanisms to synchronize.
> In general, load-acquire and store-release memory orderings are required while synchronizing data (that cannot be updated atomically) between threads. In the situation, making counters atomic is enough.
>
>> Fixes: c3eabff124e6 ("distributor: add unit tests")
>> Cc: bruce.richardson@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 | 39 ++++++++++++++++++++++++-------------
>>   1 file changed, 26 insertions(+), 13 deletions(-)
>>
>> diff --git a/app/test/test_distributor.c b/app/test/test_distributor.c index
>> 35b25463a..0e49e3714 100644
>> --- a/app/test/test_distributor.c
>> +++ b/app/test/test_distributor.c
>> @@ -43,7 +43,8 @@ total_packet_count(void)  {
>>   	unsigned i, count = 0;
>>   	for (i = 0; i < worker_idx; i++)
>> -		count += worker_stats[i].handled_packets;
>> +		count +=
>> __atomic_load_n(&worker_stats[i].handled_packets,
>> +				__ATOMIC_ACQUIRE);
> RELAXED memory order is sufficient. For ex: the worker threads are not 'releasing' any data that is not atomically updated to the main thread.
>
>>   	return count;
>>   }
>>
>> @@ -52,6 +53,7 @@ static inline void
>>   clear_packet_count(void)
>>   {
>>   	memset(&worker_stats, 0, sizeof(worker_stats));
>> +	rte_atomic_thread_fence(__ATOMIC_RELEASE);
> Ideally, the counters should be set to 0 atomically rather than using a memset.
>
>>   }
>>
>>   /* this is the basic worker function for sanity test @@ -72,13 +74,13 @@
>> handle_work(void *arg)
>>   	num = rte_distributor_get_pkt(db, id, buf, buf, num);
>>   	while (!quit) {
>>   		__atomic_fetch_add(&worker_stats[id].handled_packets,
>> num,
>> -				__ATOMIC_RELAXED);
>> +				__ATOMIC_ACQ_REL);
> Using the __ATOMIC_ACQ_REL order does not mean anything to the main thread. The main thread might still see the updates from different threads in different order.
>
>>   		count += num;
>>   		num = rte_distributor_get_pkt(db, id,
>>   				buf, buf, num);
>>   	}
>>   	__atomic_fetch_add(&worker_stats[id].handled_packets, num,
>> -			__ATOMIC_RELAXED);
>> +			__ATOMIC_ACQ_REL);
> Same here, do not see why this change is required.
>
>>   	count += num;
>>   	rte_distributor_return_pkt(db, id, buf, num);
>>   	return 0;
>> @@ -134,7 +136,8 @@ 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,
>> -				worker_stats[i].handled_packets);
>> +			__atomic_load_n(&worker_stats[i].handled_packets,
>> +					__ATOMIC_ACQUIRE));
> __ATOMIC_RELAXED is enough.
>
>>   	printf("Sanity test with all zero hashes done.\n");
>>
>>   	/* pick two flows and check they go correctly */ @@ -159,7 +162,9
>> @@ 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,
>> -					worker_stats[i].handled_packets);
>> +				__atomic_load_n(
>> +					&worker_stats[i].handled_packets,
>> +					__ATOMIC_ACQUIRE));
> __ATOMIC_RELAXED is enough
>
>>   		printf("Sanity test with two hash values done\n");
>>   	}
>>
>> @@ -185,7 +190,8 @@ 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,
>> -				worker_stats[i].handled_packets);
>> +			__atomic_load_n(&worker_stats[i].handled_packets,
>> +					__ATOMIC_ACQUIRE));
> __ATOMIC_RELAXED is enough
>
>>   	printf("Sanity test with non-zero hashes done\n");
>>
>>   	rte_mempool_put_bulk(p, (void *)bufs, BURST); @@ -280,15
>> +286,17 @@ handle_work_with_free_mbufs(void *arg)
>>   		buf[i] = NULL;
>>   	num = rte_distributor_get_pkt(d, id, buf, buf, num);
>>   	while (!quit) {
>> -		worker_stats[id].handled_packets += num;
>>   		count += num;
>> +		__atomic_fetch_add(&worker_stats[id].handled_packets,
>> num,
>> +				__ATOMIC_ACQ_REL);
> IMO, the problem would be the non-atomic update of the statistics. So, __ATOMIC_RELAXED is enough
>
>>   		for (i = 0; i < num; i++)
>>   			rte_pktmbuf_free(buf[i]);
>>   		num = rte_distributor_get_pkt(d,
>>   				id, buf, buf, num);
>>   	}
>> -	worker_stats[id].handled_packets += num;
>>   	count += num;
>> +	__atomic_fetch_add(&worker_stats[id].handled_packets, num,
>> +			__ATOMIC_ACQ_REL);
> Same here, the problem is non-atomic update of the statistics, __ATOMIC_RELAXED is enough.
> Similarly, for changes below, __ATOMIC_RELAXED is enough.
>
>>   	rte_distributor_return_pkt(d, id, buf, num);
>>   	return 0;
>>   }
>> @@ -363,8 +371,9 @@ 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)) {
>> -		worker_stats[id].handled_packets += num;
>>   		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]);
>>   		num = rte_distributor_get_pkt(d,
>> @@ -379,10 +388,11 @@ handle_work_for_shutdown_test(void *arg)
>>
>>   		total += num;
>>   	}
>> -	worker_stats[id].handled_packets += num;
>>   	count += num;
>>   	returned = rte_distributor_return_pkt(d, id, buf, num);
>>
>> +	__atomic_fetch_add(&worker_stats[id].handled_packets, num,
>> +			__ATOMIC_ACQ_REL);
>>   	if (id == zero_id) {
>>   		/* for worker zero, allow it to restart to pick up last packet
>>   		 * when all workers are shutting down.
>> @@ -394,10 +404,11 @@ handle_work_for_shutdown_test(void *arg)
>>   				id, buf, buf, num);
>>
>>   		while (!quit) {
>> -			worker_stats[id].handled_packets += num;
>>   			count += num;
>>   			rte_pktmbuf_free(pkt);
>>   			num = rte_distributor_get_pkt(d, id, buf, buf, num);
>> +
>> 	__atomic_fetch_add(&worker_stats[id].handled_packets,
>> +					num, __ATOMIC_ACQ_REL);
>>   		}
>>   		returned = rte_distributor_return_pkt(d,
>>   				id, buf, num);
>> @@ -461,7 +472,8 @@ 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,
>> -				worker_stats[i].handled_packets);
>> +			__atomic_load_n(&worker_stats[i].handled_packets,
>> +					__ATOMIC_ACQUIRE));
>>
>>   	if (total_packet_count() != BURST * 2) {
>>   		printf("Line %d: Error, not all packets flushed. "
>> @@ -514,7 +526,8 @@ test_flush_with_worker_shutdown(struct
>> worker_params *wp,
>>   	zero_quit = 0;
>>   	for (i = 0; i < rte_lcore_count() - 1; i++)
>>   		printf("Worker %u handled %u packets\n", i,
>> -				worker_stats[i].handled_packets);
>> +			__atomic_load_n(&worker_stats[i].handled_packets,
>> +					__ATOMIC_ACQUIRE));
>>
>>   	if (total_packet_count() != BURST) {
>>   		printf("Line %d: Error, not all packets flushed. "
>> --
>> 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


  reply	other threads:[~2020-10-02 11:25 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 [this message]
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
     [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=cd8f0556-8030-8d9c-5a7a-2fb81fd2328e@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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).