All of lore.kernel.org
 help / color / mirror / Atom feed
* [Adeos-main] tracer broken on 2.6.20-i386
@ 2007-02-10 11:20 Jan Kiszka
  2007-02-10 13:16 ` [Adeos-main] " Jan Kiszka
  0 siblings, 1 reply; 6+ messages in thread
From: Jan Kiszka @ 2007-02-10 11:20 UTC (permalink / raw)
  To: Philippe Gerum; +Cc: adeos-main

[-- Attachment #1: Type: text/plain, Size: 257 bytes --]

Philippe,

have you had to adopt any tracer-related code while switching to 2.6.20?
The same .config that worked fine for 2.6.19 doesn't boot here on
2.6.20. The kernel hangs during or after decompression. Disabling the
tracer resolves this.

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 249 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Adeos-main] Re: tracer broken on 2.6.20-i386
  2007-02-10 11:20 [Adeos-main] tracer broken on 2.6.20-i386 Jan Kiszka
@ 2007-02-10 13:16 ` Jan Kiszka
  2007-02-10 13:20   ` Jan Kiszka
  0 siblings, 1 reply; 6+ messages in thread
From: Jan Kiszka @ 2007-02-10 13:16 UTC (permalink / raw)
  To: Philippe Gerum; +Cc: adeos-main

[-- Attachment #1: Type: text/plain, Size: 1004 bytes --]

Jan Kiszka wrote:

> Philippe,
>
> have you had to adopt any tracer-related code while switching to 2.6.20?
> The same .config that worked fine for 2.6.19 doesn't boot here on
> 2.6.20. The kernel hangs during or after decompression. Disabling the
> tracer resolves this.
>   

I had a look at latest -rt and found some new change (which turned out
to be a hack). Playing with it, I understood its motivation (avoid
instrumentation of the decompressor). Here comes a cleaner variant for
2.6.20 (all archs). Tracer boots fine again. :)

Jan


Index: linux-2.6.20/arch/i386/boot/compressed/Makefile
===================================================================
--- linux-2.6.20.orig/arch/i386/boot/compressed/Makefile
+++ linux-2.6.20/arch/i386/boot/compressed/Makefile
@@ -9,6 +9,7 @@ targets		:= vmlinux vmlinux.bin vmlinux.
 EXTRA_AFLAGS	:= -traditional
 
 LDFLAGS_vmlinux := -T
+CFLAGS := $(subst -pg,,$(CFLAGS))
 CFLAGS_misc.o += -fPIC
 hostprogs-y	:= relocs
 



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 249 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Adeos-main] Re: tracer broken on 2.6.20-i386
  2007-02-10 13:16 ` [Adeos-main] " Jan Kiszka
@ 2007-02-10 13:20   ` Jan Kiszka
  2007-02-11 22:42     ` Philippe Gerum
  0 siblings, 1 reply; 6+ messages in thread
From: Jan Kiszka @ 2007-02-10 13:20 UTC (permalink / raw)
  To: Philippe Gerum; +Cc: adeos-main

[-- Attachment #1: Type: text/plain, Size: 1180 bytes --]

Jan Kiszka wrote:
> Jan Kiszka wrote:
> 
>> Philippe,
>>
>> have you had to adopt any tracer-related code while switching to 2.6.20?
>> The same .config that worked fine for 2.6.19 doesn't boot here on
>> 2.6.20. The kernel hangs during or after decompression. Disabling the
>> tracer resolves this.
>>   
> 
> I had a look at latest -rt and found some new change (which turned out
> to be a hack). Playing with it, I understood its motivation (avoid
> instrumentation of the decompressor). Here comes a cleaner variant for
> 2.6.20 (all archs). Tracer boots fine again. :)
          ^^^^^^^^^
Strike that, I lost the overview for a while. It remains an i386 issue.

> 
> Jan
> 
> 
> Index: linux-2.6.20/arch/i386/boot/compressed/Makefile
> ===================================================================
> --- linux-2.6.20.orig/arch/i386/boot/compressed/Makefile
> +++ linux-2.6.20/arch/i386/boot/compressed/Makefile
> @@ -9,6 +9,7 @@ targets		:= vmlinux vmlinux.bin vmlinux.
>  EXTRA_AFLAGS	:= -traditional
>  
>  LDFLAGS_vmlinux := -T
> +CFLAGS := $(subst -pg,,$(CFLAGS))
>  CFLAGS_misc.o += -fPIC
>  hostprogs-y	:= relocs
>  
> 
> 



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 249 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Adeos-main] Re: tracer broken on 2.6.20-i386
  2007-02-10 13:20   ` Jan Kiszka
@ 2007-02-11 22:42     ` Philippe Gerum
  2007-02-12  0:28       ` Jan Kiszka
  0 siblings, 1 reply; 6+ messages in thread
From: Philippe Gerum @ 2007-02-11 22:42 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: adeos-main

On Sat, 2007-02-10 at 14:20 +0100, Jan Kiszka wrote:
> Jan Kiszka wrote:
> > Jan Kiszka wrote:
> > 
> >> Philippe,
> >>
> >> have you had to adopt any tracer-related code while switching to 2.6.20?
> >> The same .config that worked fine for 2.6.19 doesn't boot here on
> >> 2.6.20. The kernel hangs during or after decompression. Disabling the
> >> tracer resolves this.
> >>   
> > 
> > I had a look at latest -rt and found some new change (which turned out
> > to be a hack). Playing with it, I understood its motivation (avoid
> > instrumentation of the decompressor). Here comes a cleaner variant for
> > 2.6.20 (all archs). Tracer boots fine again. :)
>           ^^^^^^^^^
> Strike that, I lost the overview for a while. It remains an i386 issue.
> 

The tracer still has a problem when booting 2.6.20 here (UP, LAPIC,
static Xenomai build, default configuration for both Xeno and the
pipeline+tracer, your latest patch against boot/compressed/Makefile
applied).

__ipipe_trace seems to be called before the trace log has been setup,
hence the box jumps out of the window upon an invalid data reference
when storing some mcount data. Enabling the VMALLOC log option clears
the issue.


> > 
> > Jan
> > 
> > 
> > Index: linux-2.6.20/arch/i386/boot/compressed/Makefile
> > ===================================================================
> > --- linux-2.6.20.orig/arch/i386/boot/compressed/Makefile
> > +++ linux-2.6.20/arch/i386/boot/compressed/Makefile
> > @@ -9,6 +9,7 @@ targets		:= vmlinux vmlinux.bin vmlinux.
> >  EXTRA_AFLAGS	:= -traditional
> >  
> >  LDFLAGS_vmlinux := -T
> > +CFLAGS := $(subst -pg,,$(CFLAGS))
> >  CFLAGS_misc.o += -fPIC
> >  hostprogs-y	:= relocs
> >  
> > 
> > 
> 
> 
-- 
Philippe.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Adeos-main] Re: tracer broken on 2.6.20-i386
  2007-02-11 22:42     ` Philippe Gerum
@ 2007-02-12  0:28       ` Jan Kiszka
  2007-02-16 13:27         ` Philippe Gerum
  0 siblings, 1 reply; 6+ messages in thread
From: Jan Kiszka @ 2007-02-12  0:28 UTC (permalink / raw)
  To: rpm; +Cc: adeos-main

[-- Attachment #1: Type: text/plain, Size: 3711 bytes --]

Philippe Gerum wrote:

> On Sat, 2007-02-10 at 14:20 +0100, Jan Kiszka wrote:
>   
>> Jan Kiszka wrote:
>>     
>>> Jan Kiszka wrote:
>>>
>>>       
>>>> Philippe,
>>>>
>>>> have you had to adopt any tracer-related code while switching to 2.6.20?
>>>> The same .config that worked fine for 2.6.19 doesn't boot here on
>>>> 2.6.20. The kernel hangs during or after decompression. Disabling the
>>>> tracer resolves this.
>>>>   
>>>>         
>>> I had a look at latest -rt and found some new change (which turned out
>>> to be a hack). Playing with it, I understood its motivation (avoid
>>> instrumentation of the decompressor). Here comes a cleaner variant for
>>> 2.6.20 (all archs). Tracer boots fine again. :)
>>>       
>>           ^^^^^^^^^
>> Strike that, I lost the overview for a while. It remains an i386 issue.
>>
>>     
>
> The tracer still has a problem when booting 2.6.20 here (UP, LAPIC,
> static Xenomai build, default configuration for both Xeno and the
> pipeline+tracer, your latest patch against boot/compressed/Makefile
> applied).
>
> __ipipe_trace seems to be called before the trace log has been setup,
> hence the box jumps out of the window upon an invalid data reference
> when storing some mcount data. Enabling the VMALLOC log option clears
> the issue.
>   
CONFIG_REGPARM passed away. It became default in fact. The following patch
removes the remainders from the tracer:

---
 arch/i386/kernel/entry.S  |   11 -----------
 arch/i386/kernel/mcount.S |   13 +------------
 2 files changed, 1 insertion(+), 23 deletions(-)

Index: linux-2.6.20/arch/i386/kernel/entry.S
===================================================================
--- linux-2.6.20.orig/arch/i386/kernel/entry.S
+++ linux-2.6.20/arch/i386/kernel/entry.S
@@ -105,25 +105,14 @@ VM_MASK		= 0x00020000
 				jnz restore_nocheck_notrace
 
 #ifdef CONFIG_IPIPE_TRACE_IRQSOFF
-# ifdef CONFIG_REGPARM
-#  define LOAD_ARG
-#  define REMOVE_ARG
-# else  /* !CONFIG_REGPARM */
-#  define LOAD_ARG      pushl %eax
-#  define REMOVE_ARG    addl $4, %esp
-# endif /* CONFIG_REGPARM */
 # define IPIPE_TRACE_IRQ_ENTER \
 	lea PT_EIP-4(%esp), %ebp; \
 	movl PT_ORIG_EAX(%esp), %eax; \
-	LOAD_ARG; \
 	call ipipe_trace_begin; \
-	REMOVE_ARG
 # define IPIPE_TRACE_IRQ_EXIT \
 	pushl %eax; \
 	movl PT_ORIG_EAX+4(%esp), %eax; \
-	LOAD_ARG; \
 	call ipipe_trace_end; \
-	REMOVE_ARG; \
 	popl %eax
 #else  /* !CONFIG_IPIPE_TRACE_IRQSOFF */
 #define IPIPE_TRACE_IRQ_ENTER
Index: linux-2.6.20/arch/i386/kernel/mcount.S
===================================================================
--- linux-2.6.20.orig/arch/i386/kernel/mcount.S
+++ linux-2.6.20/arch/i386/kernel/mcount.S
@@ -1,7 +1,7 @@
 /*
  *  linux/arch/i386/mcount.S
  *
- *  Copyright (C) 2005 Jan Kiszka
+ *  Copyright (C) 2005, 2007 Jan Kiszka
  */
 
 .globl mcount
@@ -17,23 +17,12 @@ mcount:
 	pushl %edx
 
 	pushl $0		# no additional value (v)
-#ifdef CONFIG_REGPARM
 	movl (%ebp),%eax
 	movl 0x4(%ebp),%edx	# __CALLER_ADDR0
 	movl 0x4(%eax),%ecx	# __CALLER_ADDR1
 	movl $0,%eax		# IPIPE_TRACE_FUNC
 	call __ipipe_trace
 	popl %eax
-#else /* !CONFIG_REGPARM */
-	movl (%ebp),%eax
-	movl 0x4(%eax),%eax
-	pushl %eax		# __CALLER_ADDR1
-	movl 0x4(%ebp),%eax
-	pushl %eax		# __CALLER_ADDR0
-	pushl $0		# IPIPE_TRACE_FUNC
-	call __ipipe_trace
-	addl $0x10,%esp
-#endif /* CONFIG_REGPARM */
 
 	popl %edx
 	popl %ecx


Looking at the tracer enable code made me wonder why it didn't look like
it should do. Some patch obviously dropped on the floor:

https://mail.gna.org/public/adeos-main/2006-12/msg00037.html

Please apply now as well.

Jan



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 249 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Adeos-main] Re: tracer broken on 2.6.20-i386
  2007-02-12  0:28       ` Jan Kiszka
@ 2007-02-16 13:27         ` Philippe Gerum
  0 siblings, 0 replies; 6+ messages in thread
From: Philippe Gerum @ 2007-02-16 13:27 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: adeos-main

On Mon, 2007-02-12 at 01:28 +0100, Jan Kiszka wrote:
> Philippe Gerum wrote:
> 
> > On Sat, 2007-02-10 at 14:20 +0100, Jan Kiszka wrote:
> >   
> >> Jan Kiszka wrote:
> >>     
> >>> Jan Kiszka wrote:
> >>>
> >>>       
> >>>> Philippe,
> >>>>
> >>>> have you had to adopt any tracer-related code while switching to 2.6.20?
> >>>> The same .config that worked fine for 2.6.19 doesn't boot here on
> >>>> 2.6.20. The kernel hangs during or after decompression. Disabling the
> >>>> tracer resolves this.
> >>>>   
> >>>>         
> >>> I had a look at latest -rt and found some new change (which turned out
> >>> to be a hack). Playing with it, I understood its motivation (avoid
> >>> instrumentation of the decompressor). Here comes a cleaner variant for
> >>> 2.6.20 (all archs). Tracer boots fine again. :)
> >>>       
> >>           ^^^^^^^^^
> >> Strike that, I lost the overview for a while. It remains an i386 issue.
> >>
> >>     
> >
> > The tracer still has a problem when booting 2.6.20 here (UP, LAPIC,
> > static Xenomai build, default configuration for both Xeno and the
> > pipeline+tracer, your latest patch against boot/compressed/Makefile
> > applied).
> >
> > __ipipe_trace seems to be called before the trace log has been setup,
> > hence the box jumps out of the window upon an invalid data reference
> > when storing some mcount data. Enabling the VMALLOC log option clears
> > the issue.
> >   
> CONFIG_REGPARM passed away. It became default in fact. The following patch
> removes the remainders from the tracer:
> 
> ---
>  arch/i386/kernel/entry.S  |   11 -----------
>  arch/i386/kernel/mcount.S |   13 +------------
>  2 files changed, 1 insertion(+), 23 deletions(-)
> 

Applied, thanks.

> Looking at the tracer enable code made me wonder why it didn't look like
> it should do. Some patch obviously dropped on the floor:
> 
> https://mail.gna.org/public/adeos-main/2006-12/msg00037.html
> 
> Please apply now as well.

Applied too, thanks.

-- 
Philippe.




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-02-16 13:27 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-10 11:20 [Adeos-main] tracer broken on 2.6.20-i386 Jan Kiszka
2007-02-10 13:16 ` [Adeos-main] " Jan Kiszka
2007-02-10 13:20   ` Jan Kiszka
2007-02-11 22:42     ` Philippe Gerum
2007-02-12  0:28       ` Jan Kiszka
2007-02-16 13:27         ` Philippe Gerum

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.