From: Paulo Marques <pmarques@grupopie.com>
To: Andi Kleen <ak@muc.de>
Cc: Ingo Molnar <mingo@elte.hu>, linux-kernel@vger.kernel.org
Subject: Re: [patch] Latency Tracer, voluntary-preempt-2.6.8-rc4-O6
Date: Sat, 14 Aug 2004 14:45:39 +0100 [thread overview]
Message-ID: <411E1783.1030103@grupopie.com> (raw)
In-Reply-To: <20040814124145.GA96097@muc.de>
Andi Kleen wrote:
>>The final algorithm pre-calculates markers on the compressed symbols so
>>that the search time is almost divided by the number of markers.
>
>
> You could do that at compile time (in scripts/kallsyms.c)
You're right! I'll see if I can come up with a patch.
If this is done in scripts/kallsyms.c, there is less code needed in the
actual kernel, and there is no time penalty on the first lookup. This is
a true win-win scenario :)
Thanks a lot for your suggestion.
>>There are still a few issues with this approach. The biggest issue is
>>that this is clearly a speed/space trade-off, and maybe we don't want to
>>waste the space on a code path that is not supposed to be "hot". If this
>>is the case, I can make a smaller patch, that fixes just the name
>>"decompression" strcpy's.
>
>
> I'm surprised that using 8 markers helps anything. There should
> be many many more 0 stems than that in a not so big kernel.
> Did you actually measure the hit rate of the cache? I bet it is pretty low.
Well, I only left in the resulting source code the pieces that I
actually measured to be a significant improvment.
The thing is, this is not exactly a cache.
The problem that the markers address is that the decompression must be
done sequentially.
If I have 20000 symbols and already figured out from the binary search
that I need symbol 11201 (for instance), I would have to go through
11201 symbols to get to the symbol I need.
The algorithm I wrote keeps markers in the middle of the stream, so that
when I try to fetch symbol 11201, I already know where symbol 10000 is
because of the marker and only have to go through 1201 symbols.
With N markers you get N times the speed on the name search. (actually
this is not exactly right for high values of N, because you can only use
a marker that is a 0 stem, but for N<~32 this is a good approximation)
--
Paulo Marques - www.grupopie.com
"In a world without walls and fences who needs windows and gates?"
next prev parent reply other threads:[~2004-08-14 13:45 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <2m9bF-kH-13@gated-at.bofh.it>
[not found] ` <2m9EG-Js-5@gated-at.bofh.it>
[not found] ` <2md5B-36u-11@gated-at.bofh.it>
[not found] ` <2mkTt-BZ-11@gated-at.bofh.it>
[not found] ` <2nrJd-7Dx-19@gated-at.bofh.it>
[not found] ` <2ouFe-2vz-63@gated-at.bofh.it>
[not found] ` <2rfT9-5wi-17@gated-at.bofh.it>
[not found] ` <2rF1c-6Iy-7@gated-at.bofh.it>
[not found] ` <2sxEs-46P-1@gated-at.bofh.it>
[not found] ` <2sCkH-7i5-15@gated-at.bofh.it>
[not found] ` <2sHu9-2EW-31@gated-at.bofh.it>
2004-08-13 12:08 ` Andi Kleen
2004-08-13 12:15 ` Ingo Molnar
2004-08-13 12:16 ` Ingo Molnar
2004-08-13 12:18 ` Andi Kleen
2004-08-13 13:51 ` Ingo Molnar
2004-08-14 4:50 ` Paulo Marques
2004-08-14 5:01 ` Lee Revell
2004-08-14 13:35 ` Paulo Marques
2004-08-14 16:49 ` Lee Revell
2004-08-14 7:15 ` Ingo Molnar
2004-08-14 13:32 ` Paulo Marques
2004-08-14 12:17 ` Keith Owens
2004-08-15 0:21 ` Paulo Marques
2004-08-17 12:14 ` Paulo Marques
2004-08-17 13:05 ` Keith Owens
2004-08-17 14:02 ` Paulo Marques
2004-08-17 16:23 ` Sam Ravnborg
2004-08-17 17:55 ` Ingo Molnar
2004-08-17 18:17 ` Paulo Marques
2004-08-14 12:41 ` Andi Kleen
2004-08-14 13:45 ` Paulo Marques [this message]
2004-07-26 8:23 preempt-timing-2.6.8-rc1 Ingo Molnar
2004-07-26 8:29 ` preempt-timing-2.6.8-rc1 Lee Revell
2004-07-26 8:35 ` [patch] voluntary-preempt-2.6.8-rc2-J3 Ingo Molnar
2004-07-26 9:00 ` Lee Revell
2004-07-26 12:40 ` Ingo Molnar
2004-07-26 20:47 ` [patch] voluntary-preempt-2.6.8-rc2-J7 Ingo Molnar
2004-07-29 22:26 ` [patch] voluntary-preempt-2.6.8-rc2-M5 Ingo Molnar
2004-08-01 19:30 ` [patch] voluntary-preempt-2.6.8-rc2-O2 Ingo Molnar
2004-08-09 10:46 ` [patch] voluntary-preempt-2.6.8-rc3-O4 Ingo Molnar
2004-08-10 13:26 ` [patch] voluntary-preempt-2.6.8-rc3-O5 Ingo Molnar
2004-08-12 23:51 ` [patch] Latency Tracer, voluntary-preempt-2.6.8-rc4-O6 Ingo Molnar
2004-08-13 1:25 ` Lee Revell
2004-08-13 1:31 ` Lee Revell
2004-08-13 2:39 ` Lee Revell
2004-08-13 3:54 ` Lee Revell
2004-08-13 4:23 ` Lee Revell
2004-08-13 4:35 ` Roland Dreier
2004-08-13 4:41 ` Lee Revell
2004-08-13 4:46 ` Roland Dreier
2004-08-13 10:21 ` Ingo Molnar
2004-08-13 10:16 ` Ingo Molnar
2004-08-13 4:49 ` Matt Heler
2004-08-13 9:53 ` Peter Zijlstra
2004-08-13 10:19 ` Ingo Molnar
2004-08-13 10:23 ` Peter Zijlstra
2004-08-13 4:58 ` Lee Revell
2004-08-13 10:22 ` Ingo Molnar
2004-08-13 18:57 ` Lee Revell
2004-08-13 5:27 ` Lee Revell
2004-08-13 5:41 ` Lee Revell
2004-08-13 10:31 ` Ingo Molnar
2004-08-13 19:47 ` Lee Revell
2004-08-16 23:46 ` Lee Revell
2004-08-17 7:48 ` Ingo Molnar
2004-08-17 7:56 ` Lee Revell
2004-08-17 19:18 ` Theodore Ts'o
2004-08-19 10:54 ` Lee Revell
2004-08-19 11:19 ` Lee Revell
2004-08-19 19:30 ` Theodore Ts'o
2004-08-19 22:32 ` Lee Revell
2004-08-19 22:50 ` Lee Revell
2004-08-20 0:10 ` Lee Revell
2004-08-13 7:40 ` Lee Revell
2004-08-13 10:42 ` Florian Schmidt
2004-08-13 10:54 ` Ingo Molnar
2004-08-13 12:03 ` Florian Schmidt
2004-08-13 12:03 ` Ingo Molnar
[not found] ` <20040813145510.60e9e0f3@mango.fruits.de>
2004-08-14 8:57 ` Ingo Molnar
2004-08-14 11:28 ` James Courtier-Dutton
2004-08-14 11:51 ` Ingo Molnar
2004-08-14 12:19 ` James Courtier-Dutton
2004-08-14 12:32 ` Ingo Molnar
2004-08-14 16:52 ` James Courtier-Dutton
2004-08-19 9:10 ` Ingo Molnar
2004-08-19 9:07 ` Ingo Molnar
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=411E1783.1030103@grupopie.com \
--to=pmarques@grupopie.com \
--cc=ak@muc.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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
Powered by JetHome