Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964792AbWIVRXs (ORCPT ); Fri, 22 Sep 2006 13:23:48 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S964784AbWIVRXs (ORCPT ); Fri, 22 Sep 2006 13:23:48 -0400 Received: from mx2.mail.elte.hu ([157.181.151.9]:18138 "EHLO mx2.mail.elte.hu") by vger.kernel.org with ESMTP id S964803AbWIVRXr (ORCPT ); Fri, 22 Sep 2006 13:23:47 -0400 Date: Fri, 22 Sep 2006 19:12:24 +0200 From: Ingo Molnar To: Mathieu Desnoyers Cc: Martin Bligh , "Frank Ch. Eigler" , Masami Hiramatsu , prasanna@in.ibm.com, Andrew Morton , Paul Mundt , linux-kernel , Jes Sorensen , Tom Zanussi , Richard J Moore , Michel Dagenais , Christoph Hellwig , Greg Kroah-Hartman , Thomas Gleixner , William Cohen , ltt-dev@shafik.org, systemtap@sources.redhat.com, Alan Cox Subject: Re: [PATCH] Linux Kernel Markers 0.5 for Linux 2.6.17 (with probe management) Message-ID: <20060922171224.GA18964@elte.hu> References: <20060921160009.GA30115@Krystal> <20060921160656.GA24774@elte.hu> <20060921214248.GA10097@Krystal> <20060922064955.GA4167@elte.hu> <20060922140329.GA20839@Krystal> <20060922165352.GA16476@elte.hu> <20060922171156.GA18363@Krystal> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060922171156.GA18363@Krystal> User-Agent: Mutt/1.4.2.1i X-ELTE-SpamScore: -2.9 X-ELTE-SpamLevel: X-ELTE-SpamCheck: no X-ELTE-SpamVersion: ELTE 2.0 X-ELTE-SpamCheck-Details: score=-2.9 required=5.9 tests=ALL_TRUSTED,AWL,BAYES_50 autolearn=no SpamAssassin version=3.0.3 -3.3 ALL_TRUSTED Did not pass through any untrusted hosts 0.5 BAYES_50 BODY: Bayesian spam probability is 40 to 60% [score: 0.5000] -0.1 AWL AWL: From: address is in the auto white-list X-ELTE-VirusStatus: clean Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2516 Lines: 61 * Mathieu Desnoyers wrote: > * Ingo Molnar (mingo@elte.hu) wrote: > > > > * Mathieu Desnoyers wrote: > > > > > > > Then you lose the ability to trace in-kernel minor page faults. > > > > > > > > that's wrong, minor pagefaults go through __handle_mm_fault() just as > > > > much. > > > > > > > > > > Hi Ingo, > > > > > > On a 2.6.17 kernel tree : > > > > > It seems like a shortcut path that will never call __handle_mm_fault. > > > This path is precisely used to handle vmalloc faults. > > > > yes, but you said "minor fault", not "vmalloc fault". > > > > minor faults are the things that happen when a task does read-after-COW > > or read-mmap-ed-pagecache-page, and they very much go through > > __handle_mm_fault(). > > > > vmalloc faults are extremely rare, x86-specific and they are a pure > > kernel-internal matter. (I'd never want to trace them, especially if it > > pushes tracepoints into every architecture's page fault handler. I > > implemented the initial version of them IIRC, but my memory fails > > precisely why. I think it was 4:4 related, but i'm unsure.) > > > > (i now realize that above you said "in-kernel minor faults" - under that > > you meant vmalloc faults?) > > > > Yes, sorry, my mistake. This kind of fault is not as infrequent as you > may think, as every newly allocated vmalloc region will cause vmalloc > faults on every processes on the system that are trying to access > them. I agree that it should not be a standard event people would be > interested in. most of the vmalloc area that is allocated on a typical system are modules - and they get loaded on bootup and rarely unloaded. Even for other vmalloc-ed areas like netfilter, the activation of them is during bootup. So from that point on the number of vmalloc faults is quite low. (zero on most systems) If you still want to trace it i'd suggest a separate type of event for it. (meanwhile i remember why i implemented vmalloc faults to begin with: during vmalloc() we used to have a for_each_process() over all kernel-pagetables of tasks to fix up their pagetables. This caused both high latencies and overhead back in the days when we still were frequent vmalloc()ers.) Ingo - 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/