On Mon, Jan 11, 2021 at 11:37 AM Lukasz Wojciechowski <l.wojciec...@partner.samsung.com> wrote: > I took a look at the logs. The issue appeared in testing big burst in > sanity_test() for burst implementation of distributor. > > My guess is that the cyclic buffer for holding packets returned from > workers might be overflown and dropping some of the packets. It's > designed this way, to hold only 127 latest packets. Older, not collected > on time with rte_distributor_returned_pkts(), are lost. > > Although it's just a guess until I can confirm it with some tests on my > machine.
Why would it happen only on ARM? My guess would be an arch-specific synchronisation issue? > > However the guess is possible, so the question is about the > functionality of collecting the returned packets. > We can: > 1) keep it as is and fix tests not to send new packets until old ones > are returned and collected > 2) make changes to the distributor library and change behavior of the > returned packages queue - however this requires some discussion as any > solution will have its drawbacks (e.g. blocking workers until there is a > place to store packets or using more space for the queue) > > Write, what do you think about it. > > Meanwhile I'll try to reproduce the issue The distributor API is flagged as stable, so we can't change its API. Solution 1) seems the way to go, but I'll wait for a rca. -- David Marchand