linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* What determines which interrupts are shared under Linux?
@ 2006-08-15 14:17 Roger Heflin
  2006-08-15 14:30 ` Sergei Shtylyov
                   ` (4 more replies)
  0 siblings, 5 replies; 17+ messages in thread
From: Roger Heflin @ 2006-08-15 14:17 UTC (permalink / raw)
  To: Linux-Kernel, linux-ide

Hello,

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?    And can that be controlled/overrode at the 
kernel/driver level?

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 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.

            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


                                       Roger

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

* Re: What determines which interrupts are shared under Linux?
       [not found] <fa.xiop2gho7OdOydmzXzpUsR5ksXM@ifi.uio.no>
@ 2006-08-15 14:29 ` Robert Hancock
  0 siblings, 0 replies; 17+ messages in thread
From: Robert Hancock @ 2006-08-15 14:29 UTC (permalink / raw)
  To: Roger Heflin; +Cc: Linux-Kernel, linux-ide

Roger Heflin wrote:
> Hello,
> 
> 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?    And can that be controlled/overrode at the 
> kernel/driver level?
> 

Typically this is determined by the hardware routing of the interrupt 
lines on the motherboard, occasionally the BIOS. There isn't usually 
much that can be done about the sharing at the kernel level.

-- 
Robert Hancock      Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@nospamshaw.ca
Home Page: http://www.roberthancock.com/


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

* Re: What determines which interrupts are shared under Linux?
  2006-08-15 14:17 Roger Heflin
@ 2006-08-15 14:30 ` Sergei Shtylyov
  2006-08-15 14:38   ` Roger Heflin
  2006-08-15 14:47 ` Len Brown
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 17+ messages in thread
From: Sergei Shtylyov @ 2006-08-15 14:30 UTC (permalink / raw)
  To: Roger Heflin; +Cc: Linux-Kernel, linux-ide

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

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

* Re: What determines which interrupts are shared under Linux?
  2006-08-15 14:30 ` Sergei Shtylyov
@ 2006-08-15 14:38   ` Roger Heflin
  0 siblings, 0 replies; 17+ messages in thread
From: Roger Heflin @ 2006-08-15 14:38 UTC (permalink / raw)
  To: Sergei Shtylyov; +Cc: Linux-Kernel, linux-ide

Sergei Shtylyov wrote:
> Hello,
> 
>> 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.

NVIDIA, CK804 chipset.

And the disks are on the sata part, and are found as e g and i so if
they are in legacy mode, it would make me suspect that the disks believe
they are on separate channels, and the performance characteristics appear
to confirm that as the disks don't seem to interfere with each other.

> 
>>            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
> 

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

* Re: What determines which interrupts are shared under Linux?
  2006-08-15 14:17 Roger Heflin
  2006-08-15 14:30 ` Sergei Shtylyov
@ 2006-08-15 14:47 ` Len Brown
  2006-08-15 15:06 ` Alan Cox
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 17+ messages in thread
From: Len Brown @ 2006-08-15 14:47 UTC (permalink / raw)
  To: Roger Heflin; +Cc: Linux-Kernel, linux-ide

On Tuesday 15 August 2006 10:17, Roger Heflin wrote:
>  22:       1165    1704243     576247       6796   IO-APIC-level  ide2,  ide3

The first thing that determines interrupt sharing is where the physical wires from
the devices are routed.  If these ide controllers are add-on boards, then you
could try moving them between PCI slots -- as the slots generally have different
primary interrupt lines.  When the board runs out of unique lines,
they are generally wired to re-use lines on different slots.
The manual for the board will generally tell you how the lines
are routed.

If the devices are using the same physical interrupt line, then it
is not possible for software or BIOS to move them to different
lines.

If these devices are functions in the same device, it is possible
that there is some internal (BIOS or firmware) setting to tell it to
use two interrupt wires instead of one.

Once the wire for the device is determined, it is up to the BIOS
and the OS to program (or not) an interrupt router to assign
the wire to an interrupt input pin.  Your dmesg will tell us
if this is happening on this board.

-Len

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

* Re: What determines which interrupts are shared under Linux?
  2006-08-15 14:17 Roger Heflin
  2006-08-15 14:30 ` Sergei Shtylyov
  2006-08-15 14:47 ` Len Brown
@ 2006-08-15 15:06 ` Alan Cox
  2006-08-15 15:24   ` Roger Heflin
  2006-08-15 15:19 ` linux-os (Dick Johnson)
  2006-08-15 17:31 ` Terence Ripperda
  4 siblings, 1 reply; 17+ messages in thread
From: Alan Cox @ 2006-08-15 15:06 UTC (permalink / raw)
  To: Roger Heflin; +Cc: Linux-Kernel, linux-ide

Ar Maw, 2006-08-15 am 09:17 -0500, ysgrifennodd Roger Heflin:
> 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?    And can that be controlled/overrode at the 
> kernel/driver level?

Only with a soldering iron. They are the way the system is wired. Moving
boards between slots may change the IRQ allocation.

> 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

That could be occuring just through lack of PCI bus bandwidth.



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

* Re: What determines which interrupts are shared under Linux?
  2006-08-15 14:17 Roger Heflin
                   ` (2 preceding siblings ...)
  2006-08-15 15:06 ` Alan Cox
@ 2006-08-15 15:19 ` linux-os (Dick Johnson)
  2006-08-15 17:31 ` Terence Ripperda
  4 siblings, 0 replies; 17+ messages in thread
From: linux-os (Dick Johnson) @ 2006-08-15 15:19 UTC (permalink / raw)
  To: Roger Heflin; +Cc: Linux-Kernel, linux-ide


On Tue, 15 Aug 2006, Roger Heflin wrote:

> Hello,
>
> 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?    And can that be controlled/overrode at the
> kernel/driver level?
>
> 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 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.
>
>            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
>
>
>                                       Roger

The hardware defines what traces go to whatever chips on the
motherboard and to the feature module sockets. Sometimes,
the ultimate IRQ that these traces go to can be configured in the
BIOS. Sometimes not. The kernel just uses what was set up by
the BIOS, convention, and the PCI devices themselves.

Cheers,
Dick Johnson
Penguin : Linux version 2.6.16.24 on an i686 machine (5592.62 BogoMips).
New book: http://www.AbominableFirebug.com/
_
\x1a\x04

****************************************************************
The information transmitted in this message is confidential and may be privileged.  Any review, retransmission, dissemination, or other use of this information by persons or entities other than the intended recipient is prohibited.  If you are not the intended recipient, please notify Analogic Corporation immediately - by replying to this message or by sending an email to DeliveryErrors@analogic.com - and destroy all copies of this information, including any attachments, without reading or disclosing them.

Thank you.

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

* Re: What determines which interrupts are shared under Linux?
  2006-08-15 15:06 ` Alan Cox
@ 2006-08-15 15:24   ` Roger Heflin
  2006-08-15 15:55     ` Alan Cox
  0 siblings, 1 reply; 17+ messages in thread
From: Roger Heflin @ 2006-08-15 15:24 UTC (permalink / raw)
  To: Alan Cox; +Cc: Linux-Kernel, linux-ide

Alan Cox wrote:
> Ar Maw, 2006-08-15 am 09:17 -0500, ysgrifennodd Roger Heflin:
>> 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?    And can that be controlled/overrode at the 
>> kernel/driver level?
> 
> Only with a soldering iron. They are the way the system is wired. Moving
> boards between slots may change the IRQ allocation.
> 
>> 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
> 
> That could be occuring just through lack of PCI bus bandwidth.
> 
> 
> 

Right now, all controllers are part of the NVIDIA chipset which should
mean the are on the same PCI bandwidth.    The block diagram does indicate
the 4 sata channels as one unit, though I don't know exactly how things
were internally done, performance testing seems to indicate that all
3 I am using are independent hardware as they don't seem to affect each
others load.

I am currently retesting under 2.6.17.8 to see if I have similar issues
there, under that it show interrupts like below, different interrupt 
numbers,
but similar sharing as ata1/ata2, and ata3/ata4 are on the same interrupt.

ata1: SATA max UDMA/133 cmd 0xEC00 ctl 0xE802 bmdma 0xDC00 irq 16
ata2: SATA max UDMA/133 cmd 0xE400 ctl 0xE002 bmdma 0xDC08 irq 16
ata1: SATA link up 3.0 Gbps (SStatus 123)
ata1: dev 0 cfg 49:2f00 82:706b 83:7e61 84:4023 85:7069 86:3e41 87:4023 
88:407f
ata1: dev 0 ATA-7, max UDMA/133, 321672960 sectors: LBA48
ata1: dev 0 configured for UDMA/133
ata2: SATA link up 3.0 Gbps (SStatus 123)
ata2: dev 0 cfg 49:2f00 82:706b 83:7e61 84:4023 85:7069 86:3e41 87:4023 
88:407f
ata2: dev 0 ATA-7, max UDMA/133, 321672960 sectors: LBA48
ata2: dev 0 configured for UDMA/133
ata3: SATA max UDMA/133 cmd 0xD800 ctl 0xD402 bmdma 0xC800 irq 17
ata4: SATA max UDMA/133 cmd 0xD000 ctl 0xCC02 bmdma 0xC808 irq 17
ata3: SATA link up 3.0 Gbps (SStatus 123)
ata3: dev 0 cfg 49:2f00 82:706b 83:7e61 84:4023 85:7069 86:3e41 87:4023 
88:407f
ata3: dev 0 ATA-7, max UDMA/133, 321672960 sectors: LBA48
ata3: dev 0 configured for UDMA/133
ata4: SATA link down (SStatus 0)

                                       Roger

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

* Re: What determines which interrupts are shared under Linux?
  2006-08-15 15:24   ` Roger Heflin
@ 2006-08-15 15:55     ` Alan Cox
  2006-08-15 17:47       ` Roger Heflin
  0 siblings, 1 reply; 17+ messages in thread
From: Alan Cox @ 2006-08-15 15:55 UTC (permalink / raw)
  To: Roger Heflin; +Cc: Linux-Kernel, linux-ide

Ar Maw, 2006-08-15 am 10:24 -0500, ysgrifennodd Roger Heflin:

> I am currently retesting under 2.6.17.8 to see if I have similar issues
> there, under that it show interrupts like below, different interrupt 
> numbers,
> but similar sharing as ata1/ata2, and ata3/ata4 are on the same interrupt.

Thats what I would expect to see - two channels per PCI device is the
normal layout and they will always share the IRQ.

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

* Re: What determines which interrupts are shared under Linux?
  2006-08-15 14:17 Roger Heflin
                   ` (3 preceding siblings ...)
  2006-08-15 15:19 ` linux-os (Dick Johnson)
@ 2006-08-15 17:31 ` Terence Ripperda
  2006-08-15 17:42   ` Sergei Shtylyov
  4 siblings, 1 reply; 17+ messages in thread
From: Terence Ripperda @ 2006-08-15 17:31 UTC (permalink / raw)
  To: Roger Heflin; +Cc: Linux-Kernel, linux-ide


we've seen a lot of problems on ck804 chipsets when multiple devices
share level-triggered interrupts. I think some of the earlier sample
bioses assumed that interrupts would be configured via ACPI, and when
ACPI is not used, the interrupts end up as level-triggered instead of
edge-triggered.

you might investigate whether ACPI is failing to configure your system
(are you on 2.4? updating to 2.6 might help), using the 'noapic'
kernel parameter to force interrupts back to PIC, or the 'irqpoll' kernel
parameter to try to work around the level-triggered interrupts.

Thanks,
Terence


On Tue, Aug 15, 2006 at 09:17:04AM -0500, rheflin@atipa.com wrote:
> Hello,
> 
> 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?    And can that be controlled/overrode at the 
> kernel/driver level?
> 
> 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 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.
> 
>            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
> 
> 
>                                       Roger
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 
> 

-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------

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

* Re: What determines which interrupts are shared under Linux?
  2006-08-15 17:31 ` Terence Ripperda
@ 2006-08-15 17:42   ` Sergei Shtylyov
  2006-08-15 17:43     ` Terence Ripperda
  0 siblings, 1 reply; 17+ messages in thread
From: Sergei Shtylyov @ 2006-08-15 17:42 UTC (permalink / raw)
  To: Terence Ripperda; +Cc: Roger Heflin, Linux-Kernel, linux-ide

Hello.

Terence Ripperda wrote:
> we've seen a lot of problems on ck804 chipsets when multiple devices
> share level-triggered interrupts. I think some of the earlier sample
> bioses assumed that interrupts would be configured via ACPI, and when
> ACPI is not used, the interrupts end up as level-triggered instead of
> edge-triggered.

    Edge-triggered *shared* interrupts?! Now that sounds interesting (I'm not 
saying impossible).

WBR, Sergei

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

* Re: What determines which interrupts are shared under Linux?
  2006-08-15 17:42   ` Sergei Shtylyov
@ 2006-08-15 17:43     ` Terence Ripperda
  0 siblings, 0 replies; 17+ messages in thread
From: Terence Ripperda @ 2006-08-15 17:43 UTC (permalink / raw)
  To: Sergei Shtylyov; +Cc: Terence Ripperda, Roger Heflin, Linux-Kernel, linux-ide

On Tue, Aug 15, 2006 at 09:42:49PM +0400, sshtylyov@ru.mvista.com wrote:
> Hello.
> 
> Terence Ripperda wrote:
> >we've seen a lot of problems on ck804 chipsets when multiple devices
> >share level-triggered interrupts. I think some of the earlier sample
> >bioses assumed that interrupts would be configured via ACPI, and when
> >ACPI is not used, the interrupts end up as level-triggered instead of
> >edge-triggered.
> 
>    Edge-triggered *shared* interrupts?! Now that sounds interesting (I'm 
>    not saying impossible).

ah shoot, you're right. doing too much and got the two backwards.
ignore my email, I'm going off to sit in the corner with a dunce cap
on..

> 
> WBR, Sergei

-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------

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

* Re: What determines which interrupts are shared under Linux?
  2006-08-15 15:55     ` Alan Cox
@ 2006-08-15 17:47       ` Roger Heflin
  2006-08-15 18:13         ` Alan Cox
  2006-08-16 22:54         ` Mark Lord
  0 siblings, 2 replies; 17+ messages in thread
From: Roger Heflin @ 2006-08-15 17:47 UTC (permalink / raw)
  To: Alan Cox; +Cc: Linux-Kernel, linux-ide

Alan Cox wrote:
> Ar Maw, 2006-08-15 am 10:24 -0500, ysgrifennodd Roger Heflin:
> 
>> I am currently retesting under 2.6.17.8 to see if I have similar issues
>> there, under that it show interrupts like below, different interrupt 
>> numbers,
>> but similar sharing as ata1/ata2, and ata3/ata4 are on the same interrupt.
> 
> Thats what I would expect to see - two channels per PCI device is the
> normal layout and they will always share the IRQ.
> 
> 

After looking at other information that looks correct.

It looks like the older DMA recovery code never works on this chipset,
once it goes into DMA recovery it never comes out of it.    I am looking
at that to see if anything can be done about it.

The problem I am having is that we cannot use a later kernel because it
has some other issues (MPT fusion driver is 1/4 the speed of the older
one for some unknown reason-this is in 2.6.17, the older MPT fusion works
fine on exactly the same machine/cards/bios-I am not sure of the
actual underlying casue of this slowdown).

On the specific kernel that I have I appear to have both IDE and
sata_nv drivers, is there a way to force things to use sata_nv/libata
rather than the older ide driver for the NVIDIA sata controller?

                                   Roger


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

* Re: What determines which interrupts are shared under Linux?
  2006-08-15 17:47       ` Roger Heflin
@ 2006-08-15 18:13         ` Alan Cox
  2006-08-16 22:54         ` Mark Lord
  1 sibling, 0 replies; 17+ messages in thread
From: Alan Cox @ 2006-08-15 18:13 UTC (permalink / raw)
  To: Roger Heflin; +Cc: Linux-Kernel, linux-ide

Ar Maw, 2006-08-15 am 12:47 -0500, ysgrifennodd Roger Heflin:
> On the specific kernel that I have I appear to have both IDE and
> sata_nv drivers, is there a way to force things to use sata_nv/libata
> rather than the older ide driver for the NVIDIA sata controller?

You can build 2.6.18-mm like that (say N to AMD/NVIDIA PATA driver, y to
sata_nv and pata_amd libata drivers). Still have to figure out why your
MPT fusion is slow but if its still slow in 2.6.18-mm then it needs
figuring out anyway


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

* Re: What determines which interrupts are shared under Linux?
  2006-08-15 17:47       ` Roger Heflin
  2006-08-15 18:13         ` Alan Cox
@ 2006-08-16 22:54         ` Mark Lord
  2006-08-17  0:39           ` Alan Cox
  1 sibling, 1 reply; 17+ messages in thread
From: Mark Lord @ 2006-08-16 22:54 UTC (permalink / raw)
  To: Roger Heflin; +Cc: Alan Cox, Linux-Kernel, linux-ide

Roger Heflin wrote:
>
> It looks like the older DMA recovery code never works on this chipset,
> once it goes into DMA recovery it never comes out of it.    I am looking
> at that to see if anything can be done about it.

You could try booting with ide2=serialize as a kernel parameter.
That should ensure the two channels are never in use simultaneously.
Trades off a bit of performance for a bit of reliability.

Cheers

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

* Re: What determines which interrupts are shared under Linux?
  2006-08-16 22:54         ` Mark Lord
@ 2006-08-17  0:39           ` Alan Cox
  2006-08-17 13:18             ` Roger Heflin
  0 siblings, 1 reply; 17+ messages in thread
From: Alan Cox @ 2006-08-17  0:39 UTC (permalink / raw)
  To: Mark Lord; +Cc: Roger Heflin, Linux-Kernel, linux-ide

Ar Mer, 2006-08-16 am 18:54 -0400, ysgrifennodd Mark Lord:
> Roger Heflin wrote:
> >
> > It looks like the older DMA recovery code never works on this chipset,
> > once it goes into DMA recovery it never comes out of it. 

DMA recovery is fairly broken in drivers/ide especially if it tries to
change mode. libata does not have this problem and I have no plans to
even try and fix the drivers/ide code for this issue as its a major
piece of work.


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

* Re: What determines which interrupts are shared under Linux?
  2006-08-17  0:39           ` Alan Cox
@ 2006-08-17 13:18             ` Roger Heflin
  0 siblings, 0 replies; 17+ messages in thread
From: Roger Heflin @ 2006-08-17 13:18 UTC (permalink / raw)
  To: Alan Cox; +Cc: Mark Lord, Linux-Kernel, linux-ide

Alan Cox wrote:
> Ar Mer, 2006-08-16 am 18:54 -0400, ysgrifennodd Mark Lord:
>> Roger Heflin wrote:
>>> It looks like the older DMA recovery code never works on this chipset,
>>> once it goes into DMA recovery it never comes out of it. 
> 
> DMA recovery is fairly broken in drivers/ide especially if it tries to
> change mode. libata does not have this problem and I have no plans to
> even try and fix the drivers/ide code for this issue as its a major
> piece of work.
> 
> 

If already figured that since I was pretty sure all of it was
being rolled to libata.   I was able to switch that controller and
disk to the libata sata_nv.

                                 Roger

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

end of thread, other threads:[~2006-08-17 13:18 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <fa.xiop2gho7OdOydmzXzpUsR5ksXM@ifi.uio.no>
2006-08-15 14:29 ` What determines which interrupts are shared under Linux? Robert Hancock
2006-08-15 14:17 Roger Heflin
2006-08-15 14:30 ` Sergei Shtylyov
2006-08-15 14:38   ` Roger Heflin
2006-08-15 14:47 ` Len Brown
2006-08-15 15:06 ` Alan Cox
2006-08-15 15:24   ` Roger Heflin
2006-08-15 15:55     ` Alan Cox
2006-08-15 17:47       ` Roger Heflin
2006-08-15 18:13         ` Alan Cox
2006-08-16 22:54         ` Mark Lord
2006-08-17  0:39           ` Alan Cox
2006-08-17 13:18             ` Roger Heflin
2006-08-15 15:19 ` linux-os (Dick Johnson)
2006-08-15 17:31 ` Terence Ripperda
2006-08-15 17:42   ` Sergei Shtylyov
2006-08-15 17:43     ` Terence Ripperda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).