Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756638Ab2EHPZM (ORCPT ); Tue, 8 May 2012 11:25:12 -0400 Received: from mail-gg0-f174.google.com ([209.85.161.174]:61637 "EHLO mail-gg0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755688Ab2EHPZI convert rfc822-to-8bit (ORCPT ); Tue, 8 May 2012 11:25:08 -0400 MIME-Version: 1.0 X-Originating-IP: [212.179.42.66] In-Reply-To: References: <1336056962-10465-1-git-send-email-gilad@benyossef.com> <1336056962-10465-6-git-send-email-gilad@benyossef.com> <4FA823A7.9000801@gmail.com> Date: Tue, 8 May 2012 18:25:07 +0300 Message-ID: Subject: Re: [PATCH v1 5/6] mm: make vmstat_update periodic run conditional From: Gilad Ben-Yossef To: Christoph Lameter Cc: KOSAKI Motohiro , linux-kernel@vger.kernel.org, Thomas Gleixner , Tejun Heo , John Stultz , Andrew Morton , KOSAKI Motohiro , Mel Gorman , Mike Frysinger , David Rientjes , Hugh Dickins , Minchan Kim , Konstantin Khlebnikov , Chris Metcalf , Hakan Akkan , Max Krasnyansky , Frederic Weisbecker , linux-mm@kvack.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2632 Lines: 71 On Mon, May 7, 2012 at 10:40 PM, Christoph Lameter wrote: > 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. > 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 from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/