Thread (16 messages) 16 messages, 7 authors, 2006-08-17

Re: What determines which interrupts are shared under Linux?

From: Sergei Shtylyov <hidden>
Date: 2006-08-15 14:29:41
Also in: lkml

Hello,

Roger Heflin wrote:
On Linux when interrupts are defined similar to below, what defines say
ide2, ide3 to be on the same interrupt? The bios, linux, the driver 
using the interrupt?
    In this particular case (I suppoer both belong to the same IDE conrtoller) 
the hardware design determines this in part and software in another part.
If the PCI IDE controller was in the leagcy mode (it should be ide0/1 then), 
the interrupts would've been 14 and 15. But in the native PCI mode, both 
chanels share the same interrupt level (if they're both in native mode that is).
And can that be controlled/overrode at the kernel/driver level?
    The only possibility might be do disable ide0/1 in the BIOS I guess.
I have identified that the disks that are shared on ide2, ide3 do funny
things when both are being heavily used (dma_expiry), this is an older 
driver versions
but I have experienced it before with a lot newer driver, and a bios 
adjustment
previously fixed a similar issue, so that may be what is needed in this 
case also,
I am not sure how they fixed it, but I suspect that the setup the interrupt
to not be shared.
    I doubt that your suspicions are justified.
  I have a large number of machines and under heavy 
loads all
seem to duplicate the issue, and it always happens with the disks on 
ide2/ide3,
never on the disk connected to ide4.
    BTW, you never named your particular IDE hardware.
           CPU0       CPU1       CPU2       CPU3
  0:   56616921    5359998    7002142     938817          XT-PIC  timer
  1:          8         88         96          0    IO-APIC-edge  i8042
  2:          0          0          0          0          XT-PIC  cascade
  4:       2091        100        208       2477    IO-APIC-edge  serial
  8:          0          0          0          0    IO-APIC-edge  rtc
  9:          0          0          0          0   IO-APIC-level  acpi
 20:          0          0          0          0   IO-APIC-level  ehci_hcd
 21:          0        950     401419     414482   IO-APIC-level  ide4, 
ohci_hcd
 22:       1165    1704243     576247       6796   IO-APIC-level  ide2, 
ide3
 47:      65971          0          0          0   IO-APIC-level  eth0
NMI:          1          1          1          1
LOC:   69904264   69877733   69879541   69901903
ERR:          0
MIS:        105
MBR, Sergei
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help