Re: [PATCH v1 5/6] mm: make vmstat_update periodic run conditional

From: Christoph Lameter
Date: Mon May 07 2012 - 15:40:15 EST


On Mon, 7 May 2012, KOSAKI Motohiro wrote:

> > > @@ -1204,8 +1265,14 @@ static int __init setup_vmstat(void)
> > >
> > > register_cpu_notifier(&vmstat_notifier);
> > >
> > > + INIT_DELAYED_WORK_DEFERRABLE(&vmstat_monitor_work,
> > > + vmstat_update_monitor);
> > > + queue_delayed_work(system_unbound_wq,
> > > + &vmstat_monitor_work,
> > > + round_jiffies_relative(HZ));
> > > +
> > > for_each_online_cpu(cpu)
> > > - start_cpu_timer(cpu);
> > > + setup_cpu_timer(cpu);
> > > #endif
> > > #ifdef CONFIG_PROC_FS
> > > proc_create("buddyinfo", S_IRUGO,
> > > NULL,&fragmentation_file_operations);
> >
> > So the monitoring thread just bounces around the system? Hope that the
> > scheduler does the right thing to keep it on processors that do some other
> > work.
>
> Good point. Usually, all cpus have update items and monitor worker only makes
> new noise. I think this feature is only useful some hpc case. So I wonder if
> this vmstat improvemnt can integrate Frederic's Nohz cpusets activity. I.e.
> vmstat-update integrate timer house keeping and automatically stop when
> stopping
> hz house keeping.

Right. We could do the same processing in vmstat update and the
thread could check if it is the last vmstat update thread. If so simply
continue and do not terminate.

But this would still mean that the vmstat update thread would run on an
arbitrary cpu. If I have a sacrificial lamb processor for OS processing
then I would expect the vmstat update thread to stick to that processor
and avoid to run on the other processor that I would like to be as free
from OS noise as possible.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/