Re: [patch V3 8/8] mm: vmstat_refresh: avoid queueing work item if cpu stats are clean

From: Nitesh Lal
Date: Fri Sep 03 2021 - 13:38:54 EST


On Wed, Sep 1, 2021 at 2:34 PM Marcelo Tosatti <mtosatti@xxxxxxxxxx> wrote:
>
> On Wed, Sep 01, 2021 at 02:32:04PM -0300, Marcelo Tosatti wrote:
> > On Wed, Sep 01, 2021 at 09:05:55AM -0400, Nitesh Lal wrote:
> > > Hi Marcelo,
> > >
> > > On Tue, Aug 24, 2021 at 11:42 AM Marcelo Tosatti <mtosatti@xxxxxxxxxx> wrote:
> > > >
> > > > It is not necessary to queue work item to run refresh_vm_stats
> > > > on a remote CPU if that CPU has no dirty stats and no per-CPU
> > > > allocations for remote nodes.
> > > >
> > > > This fixes sosreport hang (which uses vmstat_refresh) with
> > > > spinning SCHED_FIFO process.
> > > >
> > >
> > > I was still able to reproduce the sosreport hang with this patchset and I
> > > am wondering if that is because right now we do vmstat_sync and then cancel
> > > any pending jobs on a CPU in the context of one task.
> >
> > Hi Nitesh,
> >
> > Did you use chisol (with proper flags) and the modified oslat?
> >

Yes, I used your patches.
This is the command that I used:
chisol -q vmstat_sync -I conf ./oslat -f 1 -c 5,6,7,8,9,10,11,12,13,14,15 -D 15m

> > Tested with "echo 1 > /proc/sys/vmstat_refresh" and it was successful
> > (no hangs).

I see, I tried with "sos report --batch", which should have a similar effect.


--
Thanks
Nitesh