From: Andrew Morton <akpm@linux-foundation.org>
To: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: Alexey Dobriyan <adobriyan@gmail.com>, linux-kernel@vger.kernel.org
Subject: Re: [patch 10/10] Scheduler profiling - Use immediate values
Date: Thu, 5 Jul 2007 13:21:20 -0700 [thread overview]
Message-ID: <20070705132120.8edbc1f3.akpm@linux-foundation.org> (raw)
In-Reply-To: <20070703185748.GA4047@Krystal>
On Tue, 3 Jul 2007 14:57:48 -0400
Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:
> Measuring the overall impact on the system of this single modification
> results in the difference brought by one site within the standard
> deviation of the normal samples. It will become significant when the
> number of immediate values used instead of global variables at hot
> kernel paths (need to ponder with the frequency at which the data is
> accessed) will start to be significant compared to the L1 data cache
> size. We could characterize this in memory to L1 cache transfers per
> seconds.
>
> On 3GHz P4:
>
> memory read: ~48 cycles
>
> So we can definitely say that 48*HZ (approximation of the frequency at
> which the scheduler is called) won't make much difference, but as it
> grows, it will.
>
> On a 1000HZ system, it results in:
>
> 48000 cycles/second, or 16__s/second, or 0.000016% speedup.
>
> However, if we place this in code called much more often, such as
> do_page_fault, we get, with an hypotetical scenario of approximation
> of 100000 page faults per second:
>
> 4800000 cycles/s, 1.6ms/second or 0.0016% speedup.
>
> So as the number of immediate values used increase, the overall memory
> bandwidth required by the kernel will go down.
Is that 48 cycles measured when the target of the read is in L1 cache, as
it would be in any situation which we actually care about? I guess so...
Boy, this is a tiny optimisation and boy, you added a pile of tricky new
code to obtain it.
Frankly, I'm thinking that life would be simpler if we just added static
markers and stopped trying to add lots of tricksy
maintenance-load-increasing things like this.
Ho hum. Need more convincing, please.
Also: a while back (maybe as much as a year) we had an extensive discussion
regarding whether we want static markers at all in the kernel. The
eventual outcome was, I believe, "yes".
But our reasons for making that decision appear to have been lost. So if I
were to send the markers patches to Linus and he were to ask me "why are
you sending these", I'd be forced to answer "I don't know". This is not a
good situation.
Please prepare and maintain a short document which describes the
justification for making all these changes to the kernel. The changelog
for the main markers patch wold be an appropriate place for this. The
target audience would be kernel developers and it should capture the pro-
and con- arguments which were raised during that discussion.
Bascially: tell us why we should merge _any_ of this stuff, because I for
one have forgotten. Thanks.
next prev parent reply other threads:[~2007-07-05 20:21 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 [this message]
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
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=20070705132120.8edbc1f3.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=adobriyan@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@polymtl.ca \
/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