Re: [PATCH v1 5/6] mm: make vmstat_update periodic run conditional
From: Gilad Ben-Yossef <gilad@benyossef.com>
Date: 2012-05-08 15:25:12
Also in:
lkml
On Mon, May 7, 2012 at 10:40 PM, Christoph Lameter [off-list ref] wrote:
On Mon, 7 May 2012, KOSAKI Motohiro wrote:quoted
quoted
quoted
@@ -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.
OK, what about - - We pick a scapegoat cpu (the first to come up gets the job). - We add a knob to let user designate another cpu for the job. - If scapegoat cpus goes offline, the cpu processing the off lining is the new scapegoat. Does this makes better sense? Gilad -- Gilad Ben-Yossef Chief Coffee Drinker gilad@benyossef.com Israel Cell: +972-52-8260388 US Cell: +1-973-8260388 http://benyossef.com "If you take a class in large-scale robotics, can you end up in a situation where the homework eats your dog?" -- Jean-Baptiste Queru -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>