[linux-dvb] Problems with APIC/LAPIC
Markus Rechberger
mrechberger at gmail.com
Wed Aug 8 05:23:26 CEST 2007
On 8/8/07, Sven Mueller <linux-dvb at incase.de> wrote:
> Markus Rechberger schrieb:
> > On 8/6/07, Sven Mueller <linux-dvb at incase.de> wrote:
> >> Oliver Endriss wrote on 05/08/2007 06:14:
> >>> Sven Mueller wrote:
> >>>> Oliver Endriss wrote on 01/08/2007 00:27:
> >>>>> Sven Mueller wrote:
> >>>>>> Hi.
> >>>>>>
> >>>>>> I don't know which hardware interrupts those are mapped from/to and
> >>>>>> currently don't know how to find out.
> >>>>>>
> >>>>>> If you need any further data to give a helpful answer, don't hesitate
> >> to
> >>>>>> ask.
> >>>>> Which firmware are you using?
> >>>> Most recent AFAICT (261f).
> >>> Nope, the most recent firmware is
> >>> http://linuxtv.org/downloads/firmware/dvb-ttpci-01.fw-2622
> >> I tested that one as well, but I wasn't sure wether it was actually
> >> newer, since the downloads I could find on the Technotrend pages only
> >> had 261f IIRC.
> >>
> >>>>> Does the VDR recover if you wait some time (1 or 2 minutes) before you
> >>>>> press the next key?
> >>>> Sometimes (if I interpret things correctly though, this is due to an
> >>>> internal watchdog in VDR triggering a restart, which now, on my system,
> >>>> includes module unload/reload due to my problems).
> >>> With recent firmware VDR should recover _without_ emergency exit.
> >> It might do, I currently don't have much time to do tests (and, to be
> >> honest: not much inclination to do tests just to find out if and how the
> >> system recovers after a failure).
> >>
> >>>>> You might also try whether this driver improves things:
> >>>>> http://linuxtv.org/hg/~endriss/v4l-dvb-av7110-refactoring/
> >>>> Will take a look into that later once I find some time.
> >>>>
> >>>> One think fixed the problem for me, for now though:
> >>>> noapic nolapic
> >>>> on the kernel commandline (grub).
> >>> Are you sure that this did not disable SMP?
> >> Hmm, /proc/cpuinfo reports two CPUs and I had two processes (just some
> >> Perl processes with while loops counting up until a certain file was
> >> created) for which top reported near 100% CPU usage. So I'm quite
> >> certain it didn't disable SMP.
> >>
> >>>> However the system runs stable in every other aspect, so it seems to me
> >>>> that enabling apic/lapic does something which the dvb_ttpci driver
> >>>> doesn't handle properly on SMP systems.
> >>> There is no special handling for SMP or non-SMP systems.
> >>> Of course there might be a bug which will only show up with SMP. :-(
> >> Right, that is what I thought of first, too, but as said I'm almost 100%
> >> sure I now have a stable system running with SMP (though without
> >> APIC/LAPIC). So the bug (which I think is somewhere in dvb_ttpci) seems
> >> to be triggered by some LAPIC or APIC specific code somewhere in the
> >> kernel (i.e. not necessarily in the dvb_ttpci driver).
> >>
> >
> > can you submit some logs?
> >
> > cat /proc/interrupts
> > cat /proc/cpuinfo
>
>
> sven at vdr:~$ cat /proc/cpuinfo
> processor : 0
> vendor_id : GenuineIntel
> cpu family : 6
> model : 15
> model name : Genuine Intel(R) CPU 2160 @ 1.80GHz
> stepping : 2
> cpu MHz : 1799.947
> cache size : 1024 KB
> physical id : 0
> siblings : 2
> core id : 0
> cpu cores : 2
> fdiv_bug : no
> hlt_bug : no
> f00f_bug : no
> coma_bug : no
> fpu : yes
> fpu_exception : yes
> cpuid level : 10
> wp : yes
> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
> mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm
> constant_tsc pni monitor ds_cpl est tm2 cx16 xtpr lahf_lm
> bogomips : 3603.26
>
> processor : 1
> vendor_id : GenuineIntel
> cpu family : 6
> model : 15
> model name : Genuine Intel(R) CPU 2160 @ 1.80GHz
> stepping : 2
> cpu MHz : 1799.947
> cache size : 1024 KB
> physical id : 0
> siblings : 2
> core id : 1
> cpu cores : 2
> fdiv_bug : no
> hlt_bug : no
> f00f_bug : no
> coma_bug : no
> fpu : yes
> fpu_exception : yes
> cpuid level : 10
> wp : yes
> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
> mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm
> constant_tsc pni monitor ds_cpl est tm2 cx16 xtpr lahf_lm
> bogomips : 3599.67
>
> sven at vdr:~$ cat /proc/interrupts
> CPU0 CPU1
> 0: 22029407 0 XT-PIC timer
> 2: 0 0 XT-PIC cascade
> 3: 5970970 0 XT-PIC uhci_hcd:usb1, saa7146 (0)
> 6: 5 0 XT-PIC floppy
> 7: 1 0 XT-PIC parport0
> 9: 0 0 XT-PIC acpi
> 10: 8232319 0 XT-PIC uhci_hcd:usb2,
> uhci_hcd:usb4, HDA Intel, eth0
> 11: 174586011 0 XT-PIC uhci_hcd:usb3,
> ehci_hcd:usb5, libata, eth1, saa7146 (1)
> 14: 4995721 0 XT-PIC ide0
> 15: 788051 0 XT-PIC ide1
> NMI: 0 0
> LOC: 21525478 21525481
> ERR: 0
> MIS: 0
>
> > are you sure the irqs are balanced over the cores?
>
> So to the contrary, the IRQs are definitely not balanced over the cores.
> At least not with LAPIC and APIC disabled.
>
> I can't say what happens with LAPIC and APIC enabled, but I will post
> that information as soon as I can.
>
there's also a tool available for irqbalancing, I also have apic and
lapic disabled at bootup although balancing seems to work with my
system.
So you might have a look at irqbalance and retry with it.
Markus
More information about the linux-dvb
mailing list