From: Paulo Marques <pmarques@grupopie.com>
To: Matt Mackall <mpm@selenic.com>
Cc: linux-kernel@vger.kernel.org, bcasavan@sgi.com
Subject: Re: [PATCH] kallsyms data size reduction / lookup speedup
Date: Thu, 26 Aug 2004 00:50:26 +0100 [thread overview]
Message-ID: <412D25C2.6060908@grupopie.com> (raw)
In-Reply-To: <20040825211248.GQ31237@waste.org>
Matt Mackall wrote:
> On Wed, Aug 25, 2004 at 08:09:33PM +0100, Paulo Marques wrote:
>
>>diff -uprN -X dontdiff linux-2.6.9-rc1/kernel/kallsyms.c
>>linux-2.6.9-rc1-kall/kernel/kallsyms.c
>>--- linux-2.6.9-rc1/kernel/kallsyms.c 2004-08-24 23:16:39.000000000 +0100
>>+++ linux-2.6.9-rc1-kall/kernel/kallsyms.c 2004-08-25
>>03:59:27.000000000 +0100
>>@@ -5,6 +5,12 @@
>> * module loader:
>> * Copyright 2002 Rusty Russell <rusty@rustcorp.com.au> IBM Corporation
>> * Stem compression by Andi Kleen.
>
>
> Might as well kill this dangling reference to stem compression.
Will do.
>>+static unsigned int kallsyms_expand_symbol(unsigned int off, char *result)
>>+{
>>+ int len, tlen;
>>+ u8 *tptr, *data;
>>+
>>+ data = &kallsyms_names[off];
>>+
>>+ len=*data++;
>>+ off += len + 1;
>>+ while(len) {
>>+ tptr=&kallsyms_token_table[kallsyms_token_index[*data]];
>>+ data++;
>>+ len--;
>>+
>>+ tlen=*tptr++;
>>+ while(tlen) {
>>+ *result++=*tptr++;
>
>
> Whitespace, please. Vertical and horizontal. Also, this style with
> pointer manipulation tends to be frowned on - it's compact but
> needlessly obscure. Using a couple index variables and for loops would
> make this quite a bit more readable.
Yikes! I didn't release this code. It escaped leaving a trail of blood
in its wake :) (Klingon programmer)
Consider this fixed, and some comments thrown in, while I'm at it.
>>+static unsigned int get_symbol_offset(unsigned long pos)
>>+{
>>+ u8 *name;
>>+ int i;
>>+
>>+ name = &kallsyms_names[ kallsyms_markers[pos>>8] ];
>>+ for(i = 0; i < (pos&0xFF); i++)
>>+ name = name + (*name) + 1;
>
>
> That's a bit magic looking. A brief description of the data structure in this
> vicinity would be appreciated.
Ok.
>>--- linux-2.6.9-rc1/scripts/kallsyms.c 2004-08-24 23:16:39.000000000 +0100
>>+++ linux-2.6.9-rc1-kall/scripts/kallsyms.c 2004-08-25
>>03:30:30.000000000 +0100
>>@@ -6,6 +6,13 @@
>> * of the GNU General Public License, incorporated herein by reference.
>> *
>> * Usage: nm -n vmlinux | scripts/kallsyms [--all-symbols] > symbols.S
>>+ *
>>+ * ChangeLog:
>>+ *
>>+ * (25/Aug/2004) Paulo Marques
>>+ * Changed the compression method from stem compression to "table
>>lookup"
>>+ * compression
>>+ *
>> */
>
>
> Throw an address in there so we know where to direct complaints. Also
> a description of "table compression" belongs here.
Ok.
> Generally looks decent, could use a bit more in the way of comments.
The next patch will come with all this fixed. I was actually afraid of
putting in too many comments, that I ended up putting hardly any
comments.
Thanks for all the sugestions,
--
Paulo Marques - www.grupopie.com
next prev parent reply other threads:[~2004-08-25 23:53 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-25 4:04 [PATCH] kallsyms data size reduction / lookup speedup pmarques
2004-08-25 17:39 ` Matt Mackall
2004-08-25 18:46 ` Paulo Marques
2004-08-25 18:58 ` Matt Mackall
2004-08-25 19:09 ` Paulo Marques
2004-08-25 19:29 ` viro
2004-08-25 23:40 ` Paulo Marques
2004-08-25 23:43 ` viro
2004-08-26 9:59 ` Andrew Morton
2004-08-26 10:26 ` Paulo Marques
2004-08-30 18:21 ` Sam Ravnborg
2004-08-30 18:38 ` Paulo Marques
2004-08-25 21:12 ` Matt Mackall
2004-08-25 23:50 ` Paulo Marques [this message]
2004-08-25 20:51 ` Sam Ravnborg
2004-08-25 21:25 ` Randy.Dunlap
2004-08-26 0:27 ` Paulo Marques
2004-08-26 11:01 ` Paulo Marques
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=412D25C2.6060908@grupopie.com \
--to=pmarques@grupopie.com \
--cc=bcasavan@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mpm@selenic.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.