GCS <[email protected]> wrote:
>
> Offtopic ps:Sorry that I can not help further now, I kicked a door too
> badly that I think I broke my little finger on my leg. :-( But it would
> worth to try without CONFIG_REGPARM as Helge noted he has it turned on,
> and at least I also have it as Y.
CONFIG_REGPARM doesn't work on gcc-2.95 (at least), due to apparent
miscompilation or misdesign of strstr(). There are probably other such
issues.
So yes, whatever compiler you are using, turn off CONFIG_REGPARM - it is
still very experimental.
(And of dubious value - it only saved me 0.6% of program text).
On Tue, 20 Jan 2004 10:23:02 PST, Andrew Morton said:
> So yes, whatever compiler you are using, turn off CONFIG_REGPARM - it is
> still very experimental.
>
> (And of dubious value - it only saved me 0.6% of program text).
I wonder if this is because the x86 architecture is relatively
register-starved, and as a result, we pass the parameters in registers, but the
first thing the function has to do is store half of them on the stack so it has
enough free registers to work with. If this is the case then regparm(1) or
regparm(2) may do better/worse by changing how much register pressure the
function starts off with.
On Tue, Jan 20, 2004 at 01:53:28PM -0500, [email protected] <[email protected]> wrote:
> On Tue, 20 Jan 2004 10:23:02 PST, Andrew Morton said:
>
> > So yes, whatever compiler you are using, turn off CONFIG_REGPARM - it is
> > still very experimental.
It's not CONFIG_REGPARM :-(, I have turned it off, recompiled, reboot
-> same effect (it seems the list dropped my mail with bootlog, should I
resend it to the list with gzip compression?).
If someone can help me what patches should I revert, I would be happy
to help OTOH.
> > (And of dubious value - it only saved me 0.6% of program text).
It was for experiencing only, but I see it's not for real value. :-|
> I wonder if this is because the x86 architecture is relatively
> register-starved,
I have started on Sun's SparcStaion (LX actually), and I like RISC
processors much more since then. :-)
> and as a result, we pass the parameters in registers, but the
> first thing the function has to do is store half of them on the stack so it has
> enough free registers to work with. If this is the case then regparm(1) or
> regparm(2) may do better/worse by changing how much register pressure the
> function starts off with.
Yup, that can be the reason why Andrew saw only 0.6% save on program text.
Cheers,
GCS
On Tue, Jan 20, 2004 at 10:23:02AM -0800, Andrew Morton wrote:
> GCS <[email protected]> wrote:
> >
> > Offtopic ps:Sorry that I can not help further now, I kicked a door too
> > badly that I think I broke my little finger on my leg. :-( But it would
> > worth to try without CONFIG_REGPARM as Helge noted he has it turned on,
> > and at least I also have it as Y.
>
> CONFIG_REGPARM doesn't work on gcc-2.95 (at least), due to apparent
> miscompilation or misdesign of strstr(). There are probably other such
> issues.
>
This was gcc 3.3.2 (from debian testing)
It has a bug that's fixed by compiling with frame pointer. It didn't help
this though.
> So yes, whatever compiler you are using, turn off CONFIG_REGPARM - it is
> still very experimental.
>
I'll try.
Helge Hafting
Andrew Morton wrote:
> GCS <[email protected]> wrote:
>
>>Offtopic ps:Sorry that I can not help further now, I kicked a door too
>> badly that I think I broke my little finger on my leg. :-( But it would
>> worth to try without CONFIG_REGPARM as Helge noted he has it turned on,
>> and at least I also have it as Y.
[...]
> So yes, whatever compiler you are using, turn off CONFIG_REGPARM - it is
> still very experimental.
I turned it off, and turned on debugging for stack and memory allocations.
It still crashes at boot time, in a slightly different way.
I got an "endless" amount of
[<c011f202>] register_proc_table+0xc0/0xd6
scrolling by at high speed. After a minute or so it ended with
addr_conf_init
inet6_init
oo_initcalls
init
init
kernel_thread_helper
I have ipv6 compiled into the kernel, others with the same problem
seems to have this common factor.
Helge Hafting
Helge Hafting <[email protected]> wrote:
>
> Andrew Morton wrote:
> > GCS <[email protected]> wrote:
> >
> >>Offtopic ps:Sorry that I can not help further now, I kicked a door too
> >> badly that I think I broke my little finger on my leg. :-( But it would
> >> worth to try without CONFIG_REGPARM as Helge noted he has it turned on,
> >> and at least I also have it as Y.
> [...]
> > So yes, whatever compiler you are using, turn off CONFIG_REGPARM - it is
> > still very experimental.
>
> I turned it off, and turned on debugging for stack and memory allocations.
> It still crashes at boot time, in a slightly different way.
> I got an "endless" amount of
> [<c011f202>] register_proc_table+0xc0/0xd6
> scrolling by at high speed. After a minute or so it ended with
> addr_conf_init
> inet6_init
This should be fixed in 2.6.2-rc1.
Andrew Morton wrote:
> This should be fixed in 2.6.2-rc1.
Indeed!
Helge Hafting
On Wed, Jan 21, 2004 at 10:35:07AM +0100, Helge Hafting <[email protected]> wrote:
[...]
> It still crashes at boot time, in a slightly different way.
> I got an "endless" amount of
> [<c011f202>] register_proc_table+0xc0/0xd6
> scrolling by at high speed. After a minute or so it ended with
> addr_conf_init
> inet6_init
> oo_initcalls
> init
> init
> kernel_thread_helper
>
>
> I have ipv6 compiled into the kernel, others with the same problem
> seems to have this common factor.
I have switched off CONFIG_IPV6, and now it boots.
Cheers,
GCS
On Wed, Jan 21, 2004 at 03:28:02PM +0100, GCS <[email protected]> wrote:
> On Wed, Jan 21, 2004 at 10:35:07AM +0100, Helge Hafting <[email protected]> wrote:
> > I have ipv6 compiled into the kernel, others with the same problem
> > seems to have this common factor.
> I have switched off CONFIG_IPV6, and now it boots.
I have narrowed it down to 'CONFIG_IPV6_PRIVACY=y'. Can you try to
disable only this one - if you even have it, and check the boot?
Cheers,
GCS