> -----Original Message-----
> From: Stephen Hemminger <step...@networkplumber.org>
> Sent: Sunday, August 11, 2024 9:47 PM
> To: Rakesh Kudurumalla <rkuduruma...@marvell.com>
> Cc: ferruh.yi...@amd.com; andrew.rybche...@oktetlabs.ru;
> or...@nvidia.com; tho...@monjalon.net; dev@dpdk.org; Jerin Jacob
> <jer...@marvell.com>; Nithin Kumar Dabilpuram
> <ndabilpu...@marvell.com>; sta...@dpdk.org
> Subject: [EXTERNAL] Re: [PATCH v5 1/1] examples/l2fwd-jobstats: fix lock
> availability
>
> On Sun, 11 Aug 2024 21: 29: 57 +0530 Rakesh Kudurumalla
> <rkudurumalla@ marvell. com> wrote: > Race condition between jobstats
> and time metrics > for forwarding and flushing is maintained using spinlock.
> > Timer metrics are not displayed
> On Sun, 11 Aug 2024 21:29:57 +0530
> Rakesh Kudurumalla <rkuduruma...@marvell.com> wrote:
>
> > Race condition between jobstats and time metrics for forwarding and
> > flushing is maintained using spinlock.
> > Timer metrics are not displayed properly due to the frequent
> > unavailability of the lock.This patch fixes the issue by introducing a
> > delay before acquiring the lock in the loop. This delay allows for
> > betteravailability of the lock, ensuring that show_lcore_stats() can
> > periodically update the statistics even when forwarding jobs are
> > running.
> >
> > Fixes: 204896f8d66c ("examples/l2fwd-jobstats: add new example")
> > Cc: sta...@dpdk.org
> >
> > Signed-off-by: Rakesh Kudurumalla <rkuduruma...@marvell.com>
>
> Would be better if this code used RCU and not a lock
Currently the jobstats app uses the lock only for collecting single snapshot of
different statistics and printing the same from main core. With RCU since we
cannot pause the worker core to collect such a single snapshot, integrating RCU
would need a full redesign of the application and would take lot of effort.