public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Adrian Bunk <bunk@stusta.de>
To: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: Chuck Ebbert <cebbert@redhat.com>,
	Andi Kleen <andi@firstfloor.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Alexey Dobriyan <adobriyan@gmail.com>,
	linux-kernel@vger.kernel.org, mbligh@google.com
Subject: Re: [patch 10/10] Scheduler profiling - Use immediate values
Date: Sat, 7 Jul 2007 06:03:07 +0200	[thread overview]
Message-ID: <20070707040307.GD3492@stusta.de> (raw)
In-Reply-To: <20070707023511.GA25778@Krystal>

On Fri, Jul 06, 2007 at 10:35:11PM -0400, Mathieu Desnoyers wrote:
> * Adrian Bunk (bunk@stusta.de) wrote:
> > On Fri, Jul 06, 2007 at 07:43:15PM -0400, Mathieu Desnoyers wrote:
> > > * Adrian Bunk (bunk@stusta.de) wrote:
> > > > On Fri, Jul 06, 2007 at 06:14:10PM -0400, Chuck Ebbert wrote:
> > > > > On 07/06/2007 07:44 AM, Andi Kleen wrote:
> > > > > > I think the optimization is a good idea, although i dislike it
> > > > > > that it is complicated for the dynamic markers. If it was just
> > > > > > static it would be much simpler.
> > > > > 
> > > > > Another thing to consider is that there might be hundreds of these
> > > > > probes/tracepoints active in an instrumented kernel. The overhead
> > > > > adds up fast, so the gain may be worth all the pain.
> > > > 
> > > > Only if you want to squeeze the last bit of performance out of
> > > > _debugging_ functionality.
> > > > 
> > > > You avoid all the pain if you simply don't use debugging functionality 
> > > > on production systems.
> > > > 
> > > 
> > > Adrian,
> > > 
> > > Please have a look at my markers posts, especially:
> > > 
> > > http://www.ussg.iu.edu/hypermail/linux/kernel/0707.0/0669.html
> > > 
> > > And also look into OLS 2007 proceedings for Martin Bligh's paper on
> > > Debugging Google sized clusters. It basically makes the case for adding
> > > functionnality to debug _user space_ problems on production systems that
> > > can be turned on dynamically.
> > 
> > Using a different kernel for tracing still fulfills all the requirements 
> > listed in section 5 of your paper...
> > 
> 
> Not exactly. I assume you understand that rebooting 1000 live production
> servers to find the source of a rare bug or the cause of a performance
> issue is out of question.
> 
> Moreover, strategies like enabling flight recorder traces on a few nodes
> on demand to detect performance problems can only be deployed in
> production environment if they are part of the standard production
> kernel.
> 
> Also, managing two different kernels is often out of question. Not only
> is it a maintainance burden, but just switching to the "debug" kernel
> can impact the system's behavior so badly that it could make the problem
> disappear.

As can turning tracing on at runtime.

And you can always define requirements in a way that your solution is 
the only one...

Let's go to a different point:

Your paper says "When not running, must have zero effective impact."

How big is the measured impact of your markers when not used without any 
immediate voodoo?

You have sent many numbers about micro-benchmarks and theoretical 
numbers, but if you have sent the interesting numbers comparing
1. MARKERS=n
2. MARKERS=y, IMMEDIATE=n
3. MARKERS=y, IMMEDIATE=y
in actual benchmark testing I must have missed it.

Does 3. have a measurable and effective advantage over 2. or are you 
optimizing for some 0.01% or 1% performance difference without any
effective impact and therefore not requred for the goals outlined in 
your paper?

> Mathieu

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


  reply	other threads:[~2007-07-07  4:02 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-03 16:40 [patch 00/10] Immediate Values Mathieu Desnoyers
2007-07-03 16:40 ` [patch 01/10] Immediate values - Global modules list and module mutex Mathieu Desnoyers
2007-07-03 16:40 ` [patch 02/10] Immediate Value - Architecture Independent Code Mathieu Desnoyers
2007-07-03 16:40 ` [patch 03/10] Immediate Values - Non Optimized Architectures Mathieu Desnoyers
2007-07-03 16:40 ` [patch 04/10] Immediate Value - Add kconfig menus Mathieu Desnoyers
2007-07-03 16:40 ` [patch 05/10] Immediate Values - kprobe header fix Mathieu Desnoyers
2007-07-03 16:40 ` [patch 06/10] Immediate Value - i386 Optimization Mathieu Desnoyers
2007-07-03 18:45   ` H. Peter Anvin
2007-07-03 19:16     ` Mathieu Desnoyers
2007-07-03 20:18       ` H. Peter Anvin
2007-07-03 20:37         ` Chuck Ebbert
2007-07-03 21:30           ` H. Peter Anvin
2007-07-03 23:10           ` Jeremy Fitzhardinge
2007-07-03 20:43         ` Mathieu Desnoyers
2007-07-03 21:30           ` H. Peter Anvin
2007-07-03 16:40 ` [patch 07/10] Immediate Value - PowerPC Optimization Mathieu Desnoyers
2007-07-03 16:40 ` [patch 08/10] Immediate Value - Documentation Mathieu Desnoyers
2007-07-03 16:40 ` [patch 09/10] F00F bug fixup for i386 - use immediate values Mathieu Desnoyers
2007-07-04 20:43   ` Alexey Dobriyan
2007-07-03 16:40 ` [patch 10/10] Scheduler profiling - Use " Mathieu Desnoyers
2007-07-03 18:11   ` Alexey Dobriyan
2007-07-03 18:57     ` Mathieu Desnoyers
2007-07-04 14:23       ` Adrian Bunk
2007-07-04 20:31       ` Alexey Dobriyan
2007-07-05 20:21       ` Andrew Morton
2007-07-05 20:29         ` Andrew Morton
2007-07-05 20:41           ` Mathieu Desnoyers
2007-07-06 11:44         ` Andi Kleen
2007-07-06 17:50           ` Li, Tong N
2007-07-06 20:03             ` Andi Kleen
2007-07-06 20:57               ` Li, Tong N
2007-07-06 21:03                 ` Mathieu Desnoyers
2007-07-07  1:50             ` [patch 10/10] *Tests* " Mathieu Desnoyers
2007-07-07  6:08               ` Li, Tong N
2007-07-11  5:02                 ` Mathieu Desnoyers
2007-07-06 22:14           ` [patch 10/10] " Chuck Ebbert
2007-07-06 23:28             ` Adrian Bunk
2007-07-06 23:38               ` Dave Jones
2007-07-07  0:10                 ` Adrian Bunk
2007-07-07 15:45                   ` Frank Ch. Eigler
2007-07-07 17:01                     ` Adrian Bunk
2007-07-07 17:20                       ` Willy Tarreau
2007-07-07 17:59                         ` Adrian Bunk
2007-07-07 17:55                       ` Frank Ch. Eigler
2007-07-06 23:43               ` Mathieu Desnoyers
2007-07-07  2:25                 ` Adrian Bunk
2007-07-07  2:35                   ` Mathieu Desnoyers
2007-07-07  4:03                     ` Adrian Bunk [this message]
2007-07-07  5:02                       ` Willy Tarreau
2007-07-04 20:35   ` Alexey Dobriyan
2007-07-04 22:41     ` Andi Kleen
     [not found] <8CTJM-4Z1-27@gated-at.bofh.it>
     [not found] ` <8CU38-5E1-23@gated-at.bofh.it>
     [not found]   ` <8DjNU-4bL-47@gated-at.bofh.it>
     [not found]     ` <8DkTC-5Vy-11@gated-at.bofh.it>
2007-07-05 15:23       ` Bodo Eggert
2007-07-05 15:46         ` Mathieu Desnoyers
2007-07-06 21:08           ` Adrian Bunk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070707040307.GD3492@stusta.de \
    --to=bunk@stusta.de \
    --cc=adobriyan@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=cebbert@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@polymtl.ca \
    --cc=mbligh@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox