Re: [Fastboot] Re: [-mm patch] i386: enable REGPARM by default

From: Alexander Nyberg
Date: Fri Jun 24 2005 - 18:15:20 EST


fre 2005-06-24 klockan 13:28 -0700 skrev Andrew Morton:
> Adrian Bunk <bunk@xxxxxxxxx> wrote:
> >
> > This patch:
> > - removes the dependency of REGPARM on EXPERIMENTAL
> > - let REGPARM default to y
>
> hm, a compromise.
>
> One other concern I have with this is that I expect -mregparm will make
> kgdb (and now crashdump) less useful. When incoming args are on the stack
> you have a good chance of being able to see what their value is by walking
> the stack slots.
>
> When the incoming args are in registers I'd expect that it would be a lot
> harder (or impossible) to work out their value.
>
> Have the kdump guys thought about (or encountered) this?

Hmmm. I played a bit with this. Without regparm there is some argument
output although not correct. For example the argument 'ptr' to b_first
should have been 0xbeef. both x=0 and y=299264 are incorrect. Not sure
why, have to look into that.

#0 b_second (pid=1, ptr=0xbeef, x=0, y=299264) at
arch/i386/kernel/process.c:180
#1 0xc0100ce8 in b_first (pid=1, ptr=0x1) at
arch/i386/kernel/process.c:188
-------------- (only the above is interesting)
#2 0xc0100d66 in cpu_idle () at arch/i386/kernel/process.c:221
#3 0xc010027b in rest_init () at init/main.c:393
#4 0xc033e838 in start_kernel () at init/main.c:534
#5 0xc0100199 in is386 () at arch/i386/kernel/head.S:327


Now with regparm. Suprisingly enough only y=0 is now errenous and the
rest are correct (double-checked, have to look into this aswell).

#0 b_second (pid=1, ptr=0xbeef, x=65297, y=0) at
arch/i386/kernel/process.c:180
#1 0xc0100c87 in b_first (pid=1, ptr=0xbeef) at
arch/i386/kernel/process.c:188
-------------- (only the above is interesting)
#2 0xc0100d01 in cpu_idle () at arch/i386/kernel/process.c:221
#3 0xc010026d in rest_init () at init/main.c:393
#4 0xc03247d1 in start_kernel () at init/main.c:534
#5 0xc0100199 in is386 () at arch/i386/kernel/head.S:327

This was at first glance but is interesting.

Adrian, why do we want REGPARM on by default? Performance? I haven't
seen any figures

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/