From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <5375222.1178113469458.JavaMail.ngmail@domain.hid> Date: Wed, 2 May 2007 15:44:29 +0200 (CEST) From: "M. Koehrer" In-Reply-To: <1178109768.5111.102.camel@domain.hid> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable References: <1178109768.5111.102.camel@domain.hid> <46384E4B.2050200@domain.hid> <1177947596.32698.47.camel@domain.hid> <1177686318.5010.106.camel@domain.hid> <1177683592.5010.84.camel@domain.hid> <4631FF09.2000601@domain.hid> <4631F925.2090100@domain.hid> <4850965.1177589052502.JavaMail.ngmail@domain.hid> <4631E30B.6060701@domain.hid> <1177679680.5010.78.camel@domain.hid> <23595872.1177680700618.JavaMail.ngmail@domain.hid> <784082.1177682909759.JavaMail.ngmail@domain.hid> <1646519.1177684097169.JavaMail.ngmail@domain.hid> <1177685762.5010.104.camel@domain.hid> <12104543.1177686610343.JavaMail.ngmail@domain.hid> <1177706363.5010.158.camel@domain.hid> <33288775.1178089500362.JavaMail.ngmail@domain.hid> <33481027.1178097243064.JavaMail.ngmail@domain.hid> Subject: Re: [Xenomai-help] Xenomai and MSI enabled crashes kernel List-Id: Help regarding installation and common use of Xenomai List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: rpm@xenomai.org, mathias_koehrer@domain.hid Cc: xenomai@xenomai.org, jan.kiszka@domain.hid Hi Philippe, I enabled the two kernel configuration parameters. However, this changes the error behaviour. Now, the e1000 driver will be loaded, however it will not work... A unload and reload of the e1000 driver leads now to a kernel oops. However= this looks completely different than the original one I am chasing... =20 I will try to instrument the e1000 driver to ensure that it tries to retrie= ve the correct interrupt... Regards Mathias ----- Original Nachricht ---- Von: Philippe Gerum An: "M. Koehrer" Datum: 02.05.2007 14:42 Betreff: Re: [Xenomai-help] Xenomai and MSI enabled crashes kernel > On Wed, 2007-05-02 at 11:14 +0200, M. Koehrer wrote: > > Hi Jan, > >=20 > > here is the result of this patch. > > I patched in addition to Philippe's patches. > >=20 > > Regards > >=20 > > Mathias > > --------- > > Intel(R) PRO/1000 Network Driver - version 7.3.15-k2 > > Copyright (c) 1999-2006 Intel Corporation. > > ACPI: PCI Interrupt 0000:05:00.0[A] -> GSI 16 (level, low) -> IRQ 16 > > e1000: 0000:05:00.0: e1000_probe: (PCI Express:2.5Gb/s:Width x1) > 00:30:48:5a:f9:0a > > e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection > > BUG: unable to handle kernel NULL pointer dereference at virtual addres= s > 00000000 > > printing eip: > > dfedd3ca >=20 > The following options are needed to get a reliable backtrace, make sure > to have them on: >=20 > CONFIG_DEBUG_KERNEL=3Dy > CONFIG_FRAME_POINTER=3Dy >=20 > I also need the kernel disassembly; please send this privately to me > (output of "objdump -d vmlinux"). Make sure to attach the boot log for > this kernel as it fails, since code offsets listed in the backtrace are > going to move with the above options enabled. >=20 > Additionally, does the problem persist if you disable CONFIG_XENOMAI, > but still leave CONFIG_IPIPE on? >=20 > > *pde =3D 00000000 > > Oops: 0000 [#1] > > SMP > > Modules linked in: e1000 > > CPU: 0 > > EIP: 0060:[] Not tainted VLI > > EFLAGS: 00010082 (2.6.20.4 #7) > > EIP is at 0xdfedd3ca > > eax: c0112478 ebx: 00000001 ecx: c0114581 edx: df06c001 > > esi: dfedf6c0 edi: dfedc240 ebp: 00000000 esp: df06ddf8 > > ds: 007b es: 007b ss: 0068 > > Process ifconfig (pid: 1242, ti=3Ddf06c000 task=3Dc16f9030 task.ti=3Ddf= 06c000) > > Stack: 00000040 ffffffff 00000000 00000007 c03e6f00 000000ec 00000000 > c03d9180 > > c010f1b5 c015291a decbe080 00000680 decbe080 00000724 c02d6dfd > 00007600 > > 00000001 00000060 e099a210 00000286 ffffff24 df7065c8 00000000 > 0000000f > > Call Trace: > > [] __ipipe_handle_irq+0x26b/0x2bd > > [] __kmalloc+0x82/0x8d > > [] __alloc_skb+0x4f/0xf8 > > [] e1000_set_multi+0x111/0x189 [e1000] > > [] common_interrupt+0x21/0x38 > > [] e1000_set_multi+0x0/0x189 [e1000] > > [] e1000_set_multi+0x111/0x189 [e1000] > > [] __dev_mc_upload+0x1d/0x1e > > [] dev_mc_upload+0x24/0x37 > > [] dev_open+0x44/0x62 > > [] dev_change_flags+0x47/0xe4 > > [] devinet_ioctl+0x252/0x56f > > [] dev_ifsioc+0x113/0x38d > > [] sock_ioctl+0x0/0x1ad > > [] sock_ioctl+0x18e/0x1ad > > [] sock_ioctl+0x0/0x1ad > > [] do_ioctl+0x1f/0x62 > > [] vfs_ioctl+0x244/0x256 > > [] sys_ioctl+0x33/0x4c > > [] sysenter_past_esp+0x6c/0x70 > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > Code: 00 00 00 00 00 01 00 00 00 00 90 ed df 04 03 02 01 6b ec fe ff 00= 00 > 00 00 00 00 00 00 00 00 00 00 c0 d3 ed df c0 d3 ed df 00 42 de 00 db= ed > df d0 d3 ed df d0 d3 ed df 00 00 00 00 1a 00 00 > > EIP: [] 0xdfedd3ca SS:ESP 0068:df06ddf8 > > <0>Kernel panic - not syncing: Fatal exception in interrupt > > BUG: at arch/i386/kernel/smp.c:565 smp_call_function() > > [] smp_call_function+0x66/0x10a > > [] printk+0x62/0xd5 > > [] smp_send_stop+0x1b/0x2b > > [] panic+0x4d/0xe4 > > [] die+0x1f2/0x226 > > [] do_page_fault+0x447/0x517 > > [] __ipipe_handle_exception+0xce/0x158 > > [] error_code+0x81/0x90 > > [] try_to_wake_up+0x33c/0x346 > > [] __activate_task+0x1c/0x29 > > [] __ipipe_handle_irq+0x26b/0x2bd > > [] __kmalloc+0x82/0x8d > > [] __alloc_skb+0x4f/0xf8 > > [] e1000_set_multi+0x111/0x189 [e1000] > > [] common_interrupt+0x21/0x38 > > [] e1000_set_multi+0x0/0x189 [e1000] > > [] e1000_set_multi+0x111/0x189 [e1000] > > [] __dev_mc_upload+0x1d/0x1e > > [] dev_mc_upload+0x24/0x37 > > [] dev_open+0x44/0x62 > > [] dev_change_flags+0x47/0xe4 > > [] devinet_ioctl+0x252/0x56f > > [] dev_ifsioc+0x113/0x38d > > [] sock_ioctl+0x0/0x1ad > > [] sock_ioctl+0x18e/0x1ad > > [] sock_ioctl+0x0/0x1ad > > [] do_ioctl+0x1f/0x62 > > [] vfs_ioctl+0x244/0x256 > > [] sys_ioctl+0x33/0x4c > > [] sysenter_past_esp+0x6c/0x70 > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > =20 > >=20 > > ----- Original Nachricht ---- > > Von: Jan Kiszka > > An: "M. Koehrer" > > Datum: 02.05.2007 10:39 > > Betreff: Re: [Xenomai-help] Xenomai and MSI enabled crashes kernel > >=20 > > > M. Koehrer wrote: > > > > Hi Philippe, > > > >=20 > > > > I have applied the patches as proposed. > > > > However, the kernel still freezes. > > >=20 > > > :( > > >=20 > > > > Here is the corresponding message. > > > >=20 > > >=20 > > > OK, here is another instrumentation, hoping that the bug will not mov= e > > > again and that we can nail down what piece of memory contains nonsens= e. > > >=20 > > > The next step would then be to narrow down the corruption window (or = to > > > find the reason for filling in nonsense during initialisation). > > >=20 > > > Jan > > >=20 > > >=20 > > > Index: linux-2.6.20/arch/i386/kernel/ipipe.c > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > --- linux-2.6.20.orig/arch/i386/kernel/ipipe.c > > > +++ linux-2.6.20/arch/i386/kernel/ipipe.c > > > @@ -782,6 +782,13 @@ int __ipipe_handle_irq(struct pt_regs re > > > =20 > > > =09head =3D __ipipe_pipeline.next; > > > =09next_domain =3D list_entry(head, struct ipipe_domain, p_link); > > > +=09if (irq=3D=3D219) { > > > +=09=09ipipe_set_printk_sync(next_domain); > > > +=09=09printk("%s:%d\n", __FUNCTION__, __LINE__); > > > +=09=09printk("%s:%d %lx %p %p\n", __FUNCTION__, __LINE__, > > > +=09=09=09ipipe_root.irqs[irq].control, ipipe_root.irqs[irq].acknowle= dge, > > > +=09=09=09ipipe_root.irqs[irq].handler); > > > +=09} > > > =09if (likely(test_bit(IPIPE_WIRED_FLAG, > &next_domain->irqs[irq].control))) > > > { > > > =09=09if (!m_ack && next_domain->irqs[irq].acknowledge !=3D NULL) > > > =09=09=09next_domain->irqs[irq].acknowledge(irq); > > > @@ -865,6 +872,10 @@ finalize: > > > =09 * current domain in the pipeline. > > > =09 */ > > > =20 > > > +=09if (irq=3D=3D219) > > > +=09=09printk("%s:%d %lx %p %p\n", __FUNCTION__, __LINE__, > > > +=09=09=09ipipe_root.irqs[irq].control, ipipe_root.irqs[irq].acknowle= dge, > > > +=09=09=09ipipe_root.irqs[irq].handler); > > > =09__ipipe_walk_pipeline(head, cpuid); > > > =20 > > > =09ipipe_load_cpuid(); > > > Index: linux-2.6.20/kernel/ipipe/core.c > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > --- linux-2.6.20.orig/kernel/ipipe/core.c > > > +++ linux-2.6.20/kernel/ipipe/core.c > > > @@ -791,6 +791,11 @@ void fastcall __ipipe_sync_stage(unsigne > > > =09=09=09rank =3D __ipipe_ffnz(submask); > > > =09=09=09irq =3D (level << IPIPE_IRQ_ISHIFT) + rank; > > > =20 > > > +=09=09=09if (irq=3D=3D219) > > > +=09=09=09=09printk("%s:%d %lx %p %p\n", __FUNCTION__, __LINE__, > > > +=09=09=09=09=09ipipe_root.irqs[irq].control, > > > +=09=09=09=09=09ipipe_root.irqs[irq].acknowledge, > > > +=09=09=09=09=09ipipe_root.irqs[irq].handler); > > > =09=09=09if (test_bit(IPIPE_LOCK_FLAG, &ipd->irqs[irq].control)) { > > > =09=09=09=09__clear_bit(rank, &cpudata->irq_pending_lo[level]); > > > =09=09=09=09continue; > > > @@ -807,6 +812,8 @@ void fastcall __ipipe_sync_stage(unsigne > > > =09=09=09if (ipd =3D=3D ipipe_root_domain) > > > =09=09=09=09trace_hardirqs_off(); > > > =20 > > > +=09=09=09if (irq=3D=3D219) > > > +=09=09=09=09printk("%s:%d\n", __FUNCTION__, __LINE__); > > > =09=09=09__ipipe_run_isr(ipd, irq, cpuid); > > > #ifdef CONFIG_SMP > > > =09=09=09{ > > >=20 > > >=20 > > >=20 > >=20 > --=20 > Philippe. >=20 >=20 >=20 --=20 Mathias Koehrer mathias_koehrer@domain.hid Viel oder wenig? Schnell oder langsam? Unbegrenzt surfen + telefonieren ohne Zeit- und Volumenbegrenzung? DAS TOP ANGEBOT JETZT bei Arcor: g=FCnsti= g und schnell mit DSL - das All-Inclusive-Paket f=FCr clevere Doppel-Sparer, nur 39,85 =80 inkl. DSL- und ISDN-Grundgeb=FChr! http://www.arcor.de/rd/emf-dsl-2