Re: [PATCH 1/2] rcu/kvfree: Carefully reset number of objects in krcp

From: Uladzislau Rezki
Date: Thu Dec 15 2022 - 16:16:28 EST


On Thu, Dec 15, 2022 at 12:40:22PM -0800, Paul E. McKenney wrote:
> On Wed, Dec 14, 2022 at 01:06:29PM +0100, Uladzislau Rezki (Sony) wrote:
> > Problem. A schedule_delayed_monitor_work() relays on the
> > number of pointers queued into krcp. Based on that number
> > and threshold the work is rearmed with different delayed
> > intervals, i.e. sooner or later.
> >
> > There are three pipes where pointers can be placed. When
> > any pipe is offloaded the krcp->count counter is set to
> > zero - what is wrong. Because another pipes might not be
> > empty.
> >
> > Fix it by maintaining a counter individually per a pipe.
> > In order to get a number of objects per a krcp introduce
> > a krc_count() helper.
> >
> > Signed-off-by: Uladzislau Rezki (Sony) <urezki@xxxxxxxxx>
>
> Queued and pushed for further review and testing, and with the usual
> wordsmithing. Much better use of workqueue handlers, thank you!!!
>
<snip>
This commit therefore maintains per-pipe counters, and introduces a a
krc_count() helper to access the aggregate value of those
counters.
<snip>

a a ? :)

--
Uladzislau Rezki