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

From: Christoph Lameter
Date: Mon May 07 2012 - 11:29:18 EST


On Thu, 3 May 2012, Gilad Ben-Yossef wrote:

> vmstat_update runs every second from the work queue to update statistics
> and drain per cpu pages back into the global page allocator.

Looks good.

- vmstat_off_cpus is a bit strange. Could we have a cpumask that has a bit
set if vmstat is active? Rename to "vmstat_cpus"?

- Start out with vmstat_cpus cleared? Cpus only need vmstat if they do
something and if a cpu is idle on boot then it will not need vmstat
enabled until the cpu does something useful.

> @@ -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.

--
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/