* APIC problem or 3com 3c590 driver problem in smp kernel 2.4.x
@ 2001-05-31 2:07 Feng Xian
2001-05-31 16:15 ` Bogdan Costescu
0 siblings, 1 reply; 9+ messages in thread
From: Feng Xian @ 2001-05-31 2:07 UTC (permalink / raw)
To: linux-kernel; +Cc: Feng Xian
Hi, all,
I have one pci device in my dell optiplex gx300 dual pIII box. when this
device in a certain pci slot, it shares the same IRQ with the on mother
board 3com NIC(3c905) (irq=5). when I run the kernel smp-2.4.x, my PCI
device can not receive any interrupt while the /proc/interrupts shows that
3c905 receives over million of interrupts and number grows very fast. then
I moved my pci device to another pci slot, now, 3c905's irq=5, my device's
irq=0xb, my device behaves normal, the interrupt number for 3c905 also
looks normal. I also tried to use a uni-processor kernel without APIC
support enabled, my pci device shares irq with 3c905, but works fine.
It looks more like APIC support problem. but it also may be 3c905
driver's ISR's problem. Anyone who owns the code has any idea about this?
Thanks in advance.
Alex
--
Feng Xian
_o) .~. (o_
/\\ /V\ //\
_\_V // \\ V_/_
/( )\
^^-^^
ALEX
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: APIC problem or 3com 3c590 driver problem in smp kernel 2.4.x
2001-05-31 2:07 APIC problem or 3com 3c590 driver problem in smp kernel 2.4.x Feng Xian
@ 2001-05-31 16:15 ` Bogdan Costescu
2001-05-31 16:27 ` Feng Xian
0 siblings, 1 reply; 9+ messages in thread
From: Bogdan Costescu @ 2001-05-31 16:15 UTC (permalink / raw)
To: Feng Xian; +Cc: linux-kernel, Feng Xian
On Wed, 30 May 2001, Feng Xian wrote:
> when I run the kernel smp-2.4.x, my PCI
> device can not receive any interrupt while the /proc/interrupts shows that
> 3c905 receives over million of interrupts and number grows very fast.
That's a bit strange as one of the first things done in 3c59x ISR is:
if ((status & IntLatch) == 0)
goto handler_exit; /* No interrupt: shared IRQs can cause this */
with which the driver detects if the interrupt was generated by the card.
Are you sure the driver for the other PCI device knows to play nice with
shared interrupts ?
Sincerely,
Bogdan Costescu
IWR - Interdisziplinaeres Zentrum fuer Wissenschaftliches Rechnen
Universitaet Heidelberg, INF 368, D-69120 Heidelberg, GERMANY
Telephone: +49 6221 54 8869, Telefax: +49 6221 54 8868
E-mail: Bogdan.Costescu@IWR.Uni-Heidelberg.De
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: APIC problem or 3com 3c590 driver problem in smp kernel 2.4.x
2001-05-31 16:15 ` Bogdan Costescu
@ 2001-05-31 16:27 ` Feng Xian
2001-06-01 9:42 ` Ingo Oeser
0 siblings, 1 reply; 9+ messages in thread
From: Feng Xian @ 2001-05-31 16:27 UTC (permalink / raw)
To: Bogdan Costescu; +Cc: linux-kernel, Feng Xian
The driver for my pci device, I have the SA_SHIRQ set.
Actually what I am thinking it may be APIC support problem. I rebuild my
kernel to use single cpu without APIC support, my device and 3c905 both
work fine. they don't work for SMP kernel (APIC is by default enabled)
Then I configured my uni-processor kernel to enable the APIC support, my
device won't work with the 3c905, just exactly same as it behaves in the
SMP kernel.
regards,
Alex
On Thu, 31 May 2001, Bogdan Costescu wrote:
> On Wed, 30 May 2001, Feng Xian wrote:
>
> > when I run the kernel smp-2.4.x, my PCI
> > device can not receive any interrupt while the /proc/interrupts shows that
> > 3c905 receives over million of interrupts and number grows very fast.
>
> That's a bit strange as one of the first things done in 3c59x ISR is:
>
> if ((status & IntLatch) == 0)
> goto handler_exit; /* No interrupt: shared IRQs can cause this */
>
> with which the driver detects if the interrupt was generated by the card.
> Are you sure the driver for the other PCI device knows to play nice with
> shared interrupts ?
>
> Sincerely,
>
> Bogdan Costescu
>
> IWR - Interdisziplinaeres Zentrum fuer Wissenschaftliches Rechnen
> Universitaet Heidelberg, INF 368, D-69120 Heidelberg, GERMANY
> Telephone: +49 6221 54 8869, Telefax: +49 6221 54 8868
> E-mail: Bogdan.Costescu@IWR.Uni-Heidelberg.De
>
> -
> 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/
>
--
Feng Xian
_o) .~. (o_
/\\ /V\ //\
_\_V // \\ V_/_
/( )\
^^-^^
ALEX
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: APIC problem or 3com 3c590 driver problem in smp kernel 2.4.x
2001-05-31 16:27 ` Feng Xian
@ 2001-06-01 9:42 ` Ingo Oeser
2001-06-02 4:08 ` Feng Xian
0 siblings, 1 reply; 9+ messages in thread
From: Ingo Oeser @ 2001-06-01 9:42 UTC (permalink / raw)
To: Feng Xian; +Cc: Bogdan Costescu, linux-kernel
On Thu, May 31, 2001 at 12:27:07PM -0400, Feng Xian wrote:
> The driver for my pci device, I have the SA_SHIRQ set.
What kind of PCI device do you have? I had this problem once with
an PCI-Matchmaker[1] based board (for which we still have the wrong
PCI-ID btw, but my patch was rejected twice...).
> Actually what I am thinking it may be APIC support problem. I rebuild my
> kernel to use single cpu without APIC support, my device and 3c905 both
> work fine. they don't work for SMP kernel (APIC is by default enabled)
> Then I configured my uni-processor kernel to enable the APIC support, my
> device won't work with the 3c905, just exactly same as it behaves in the
> SMP kernel.
With 2.2 I also had this without APIC.
I have been flooded with interrupts which have been intended for
the Cyclone card (3c905B 100BaseTX), and exited the ISR quickly
after querying the interrupt register of my Matchmaker board
without any ACKing, but the Cyclone never got these interrupts
anymore.
But is doesn't seem to be a 3c905 based problem, as I have
11: 95772726 XT-PIC es1371, eth0, eth1
in /proc/interrupts where eth0 and eth1 are both Cyclones.
Even the vga card has IRQ 11 assigned.
So this is not really unknown ;-)
Regards
Ingo Oeser
[1] class 0b40, vendor id: 10e8, device id: 807d
--
To the systems programmer,
users and applications serve only to provide a test load.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: APIC problem or 3com 3c590 driver problem in smp kernel 2.4.x
2001-06-01 9:42 ` Ingo Oeser
@ 2001-06-02 4:08 ` Feng Xian
2001-06-02 16:06 ` Alan Cox
0 siblings, 1 reply; 9+ messages in thread
From: Feng Xian @ 2001-06-02 4:08 UTC (permalink / raw)
To: Ingo Oeser; +Cc: Bogdan Costescu, linux-kernel
It's our own's card. so it could be the card's problem. does the pci
device have to do some special thing to support APIC? my card won't work
properly on uni-processor with APIC enable kernel or smp kernel when the
card is sharing IRQ with some other pci devices.
Alex
On Fri, 1 Jun 2001, Ingo Oeser wrote:
> On Thu, May 31, 2001 at 12:27:07PM -0400, Feng Xian wrote:
> > The driver for my pci device, I have the SA_SHIRQ set.
>
> What kind of PCI device do you have? I had this problem once with
> an PCI-Matchmaker[1] based board (for which we still have the wrong
> PCI-ID btw, but my patch was rejected twice...).
>
> > Actually what I am thinking it may be APIC support problem. I rebuild my
> > kernel to use single cpu without APIC support, my device and 3c905 both
> > work fine. they don't work for SMP kernel (APIC is by default enabled)
> > Then I configured my uni-processor kernel to enable the APIC support, my
> > device won't work with the 3c905, just exactly same as it behaves in the
> > SMP kernel.
>
> With 2.2 I also had this without APIC.
>
> I have been flooded with interrupts which have been intended for
> the Cyclone card (3c905B 100BaseTX), and exited the ISR quickly
> after querying the interrupt register of my Matchmaker board
> without any ACKing, but the Cyclone never got these interrupts
> anymore.
>
> But is doesn't seem to be a 3c905 based problem, as I have
>
> 11: 95772726 XT-PIC es1371, eth0, eth1
>
> in /proc/interrupts where eth0 and eth1 are both Cyclones.
> Even the vga card has IRQ 11 assigned.
>
> So this is not really unknown ;-)
>
> Regards
>
> Ingo Oeser
>
> [1] class 0b40, vendor id: 10e8, device id: 807d
>
--
Feng Xian
_o) .~. (o_
/\\ /V\ //\
_\_V // \\ V_/_
/( )\
^^-^^
ALEX
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: APIC problem or 3com 3c590 driver problem in smp kernel 2.4.x
2001-06-02 4:08 ` Feng Xian
@ 2001-06-02 16:06 ` Alan Cox
2001-06-02 18:00 ` Feng Xian
0 siblings, 1 reply; 9+ messages in thread
From: Alan Cox @ 2001-06-02 16:06 UTC (permalink / raw)
To: Feng Xian; +Cc: Ingo Oeser, Bogdan Costescu, linux-kernel
> It's our own's card. so it could be the card's problem. does the pci
> device have to do some special thing to support APIC? my card won't work
Nope. APIC is invisible to a correctly built piece of hardware. It just changes
how INTA-INTD are handled at the host end of things
> properly on uni-processor with APIC enable kernel or smp kernel when the
> card is sharing IRQ with some other pci devices.
That sounds like the driver isnt testing the irq was sourced by that card. You
also see hangups on insmod/rmmod when people do
writel(ENABLE_MY_IRQ, my_card->control);
before they request the IRQ and are able to clear it
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: APIC problem or 3com 3c590 driver problem in smp kernel 2.4.x
2001-06-02 16:06 ` Alan Cox
@ 2001-06-02 18:00 ` Feng Xian
2001-06-04 13:17 ` Maciej W. Rozycki
0 siblings, 1 reply; 9+ messages in thread
From: Feng Xian @ 2001-06-02 18:00 UTC (permalink / raw)
To: Alan Cox; +Cc: Ingo Oeser, Bogdan Costescu, linux-kernel
On Sat, 2 Jun 2001, Alan Cox wrote:
> > It's our own's card. so it could be the card's problem. does the pci
> > device have to do some special thing to support APIC? my card won't work
>
> Nope. APIC is invisible to a correctly built piece of hardware. It just changes
> how INTA-INTD are handled at the host end of things
>
> > properly on uni-processor with APIC enable kernel or smp kernel when the
> > card is sharing IRQ with some other pci devices.
>
> That sounds like the driver isnt testing the irq was sourced by that card. You
> also see hangups on insmod/rmmod when people do
>
> writel(ENABLE_MY_IRQ, my_card->control);
>
> before they request the IRQ and are able to clear it
>
I forget to mention. in the same hardware configuration (same slot, sharing
IRQ with other card) my card works perfect if I was using uni-processor
without APIC support kernel (i tried 2.4.5-ac6 with apic disabled
uniprocessor on a dual p3 box). If the driver did something wrong, it
should not work on that system either. Maybe what I thought was wrong.
Alex
--
Feng Xian
_o) .~. (o_
/\\ /V\ //\
_\_V // \\ V_/_
/( )\
^^-^^
ALEX
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: APIC problem or 3com 3c590 driver problem in smp kernel 2.4.x
2001-06-02 18:00 ` Feng Xian
@ 2001-06-04 13:17 ` Maciej W. Rozycki
0 siblings, 0 replies; 9+ messages in thread
From: Maciej W. Rozycki @ 2001-06-04 13:17 UTC (permalink / raw)
To: Feng Xian; +Cc: Alan Cox, Ingo Oeser, Bogdan Costescu, linux-kernel
On Sat, 2 Jun 2001, Feng Xian wrote:
> I forget to mention. in the same hardware configuration (same slot, sharing
> IRQ with other card) my card works perfect if I was using uni-processor
> without APIC support kernel (i tried 2.4.5-ac6 with apic disabled
> uniprocessor on a dual p3 box). If the driver did something wrong, it
> should not work on that system either. Maybe what I thought was wrong.
There is a small difference in interrupt delivery between i8259A and I/O
APIC configurations. An I/O APIC incurs a slightly larger delivery
latency, both for asserts and for deasserts. You need to be prepared for
it in the driver, especially for the latter case, i.e. send an IRQ ack
early to the device, so there is enough time for a message to go through
the inter-APIC bus. Otherwise you risk spurious interrupts.
--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@ds2.pg.gda.pl, PGP key available +
^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <Pine.LNX.4.10.10105311110240.759-100000@coffee.psychology.mcmaster.ca>]
* Re: APIC problem or 3com 3c590 driver problem in smp kernel 2.4.x
[not found] <Pine.LNX.4.10.10105311110240.759-100000@coffee.psychology.mcmaster.ca>
@ 2001-05-31 16:23 ` Feng Xian
0 siblings, 0 replies; 9+ messages in thread
From: Feng Xian @ 2001-05-31 16:23 UTC (permalink / raw)
To: Mark Hahn; +Cc: linux-kernel
I am not sure if it's a VIA-based board. It's Dell's SMP board with Intel
820 chipset on it.
-[00]-+-00.0 Intel Corporation 82820 820 (Camino) Chipset Host Bridge
(MCH)
+-01.0-[01]----00.0 nVidia Corporation Vanta [NV6]
+-1e.0-[02-03]--+-0a.0-[03]----00.0 Chrysalis-ITS: c0de
| \-0c.0 3Com Corporation 3c905C-TX [Fast Etherlink]
+-1f.0 Intel Corporation 82801AA ISA Bridge (LPC)
+-1f.1 Intel Corporation 82801AA IDE
+-1f.2 Intel Corporation 82801AA USB
+-1f.3 Intel Corporation 82801AA SMBus
\-1f.5 Intel Corporation 82801AA AC'97 Audio
Alex
On Thu, 31 May 2001, Mark Hahn wrote:
> > I have one pci device in my dell optiplex gx300 dual pIII box. when this
>
> is that a VIA-based board? if so, there are known problems
> with VIA SMP irq routing.
>
--
Feng Xian
_o) .~. (o_
/\\ /V\ //\
_\_V // \\ V_/_
/( )\
^^-^^
ALEX
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2001-06-04 17:04 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-05-31 2:07 APIC problem or 3com 3c590 driver problem in smp kernel 2.4.x Feng Xian
2001-05-31 16:15 ` Bogdan Costescu
2001-05-31 16:27 ` Feng Xian
2001-06-01 9:42 ` Ingo Oeser
2001-06-02 4:08 ` Feng Xian
2001-06-02 16:06 ` Alan Cox
2001-06-02 18:00 ` Feng Xian
2001-06-04 13:17 ` Maciej W. Rozycki
[not found] <Pine.LNX.4.10.10105311110240.759-100000@coffee.psychology.mcmaster.ca>
2001-05-31 16:23 ` Feng Xian
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®