From: "Sean Akers"
Date: Thu, 9 Nov 2000 10:03:28 -0800
From: Michael Perry
Sean Akers@ROMAX 09/11/2000 17:12
AFAIK, the PCI hardware standard requires that all PCI cards MUST be able to share IRQs. I've never seen Linux share PCI IRQs though. Windows 2000 makes use of this requirement to a fault in fact. In every Windows 2000 I've installed, it puts just about every PCI device at the same IRQ whether you want it to or not. On my W2K system at home, the video, network, sound and Promise Ultra/66 cards all share the same IRQ (and there's no way of changing this either which gets right up my nose). I'm sure it would be more efficient to spread these devices over all the available IRQs and only double up when you've run out after all, the OS must be doing some sort of polling when it gets an interrupt on a shared IRQ to find out which device needs servicing.
My SuSE 6.4 Linux server has 2 PCI network cards, a PCI SCSI card and a PCI video card. All are automatically put on different IRQs. Perhaps someone can tell us about IRQ sharing under Linux in more details but I expect it does it the sensible way by spreading things out as much as possible.
Sean.
-- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/support/faq
I could not get IRQ sharing to work on several boxes under Linux. I had a pci ethernet card sitting next to a sblive card on the pci bus. They wanted to share irqs and play nice and in the bios they did play nice. Linux gave the irq to the network card and would not share. I finally pulled the sound card and moved it down one slot on the pci bus and it worked quite well. I don't have a great answer or even a modest success story. I could never get the irq sharing working on pci cards whatsoever. -- Michael Perry mperry@tsoft.com ------------------
Message-Id: <3.0.3.32.20001109125113.0100bc60@popd.ix.netcom.com>
Date: Thu, 09 Nov 2000 12:51:13 +0000
From: Samy Elashmawy
I could not get IRQ sharing to work on several boxes under Linux. I had a pci ethernet card sitting next to a sblive card on the pci bus. They wanted to share irqs and play nice and in the bios they did play nice. Linux gave the irq to the network card and would not share. I finally pulled the sound card and moved it down one slot on the pci bus and it worked quite well.
I had a Hard drive bite the dust , on reboot it was dead , no niose nothing , and it would not boot up , and gave some funny orror that there was no bootable disk or something. It was a dusl boot P166. I tossed in another drive , installed linux , andd linux ran supper the fist time round , found the network card and drivers laodeed. I cant say so for windows. I tried to load drivers for the pci network card , tried reinstalling/findinfg new hardware , but I would never work. Finaly out of disgust and out of patience , I decided to swap around the video card and ethernet card , Sure enough on reboot , it found a network card and asked for the driver. So much for plug and pray , and manual install of drivers. Seams like you needed to pull the card and move it up/down the pci slot/bus for windows to see that its there. Funny how linux just caame up on line with no problems. <p>>I don't have a great answer or even a modest success story. I could never
get the irq sharing working on pci cards whatsoever.
-- Michael Perry mperry@tsoft.com ------------------
-- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com
Also check the FAQ at http://www.suse.com/support/faq
From: Philipp Thomas
I've never seen Linux share PCI IRQs though.
Of course it does, if the BIOS choose to have cards sharing an IRQ.
In every Windows 2000 I've installed, it puts just about every PCI device at the same IRQ whether you want it to or not. On my W2K system at home, the video, network, sound and Promise Ultra/66 cards all share the same IRQ (and there's no way of changing this either which gets right up my nose).
Disable ACPI in the BIOS and set PnP OS to 'no' there too (required for Linux anyway) may help. This because ACPI is the reason why W2K is doing what you observe. There was an article in IMO Germany's best computer mag c't that described this in more detail. I may be able to dig that out and mail you specifics.
video card. All are automatically put on different IRQs. Perhaps someone can tell us about IRQ sharing under Linux in more details but I expect it does it the sensible way by spreading things out as much as possible.
As I wrote, Linux does use IRQ sharing if the BIOS configured cards to do it. But on SMP systems or UP kernels configured with APIC support it will reroute them to IRQs beyond IRQ 15 in order to have distinct IRQs for every device simply because this reduces overhead in IRQ processing. Philipp -- Penguins to save the dinosaurs -- Handelsblatt on Linux for S/390
Date: Thu, 9 Nov 2000 17:25:15 -0800
From: Michael Perry
* Sean Akers [Thu, 9 Nov 2000 17:12:02 +0000]:
I've never seen Linux share PCI IRQs though.
Of course it does, if the BIOS choose to have cards sharing an IRQ.
In every Windows 2000 I've installed, it puts just about every PCI device at the same IRQ whether you want it to or not. On my W2K system at home, the video, network, sound and Promise Ultra/66 cards all share the same IRQ (and there's no way of changing this either which gets right up my nose).
Disable ACPI in the BIOS and set PnP OS to 'no' there too (required for Linux anyway) may help. This because ACPI is the reason why W2K is doing what you observe. There was an article in IMO Germany's best computer mag c't that described this in more detail. I may be able to dig that out and mail you specifics.
video card. All are automatically put on different IRQs. Perhaps someone can tell us about IRQ sharing under Linux in more details but I expect it does it the sensible way by spreading things out as much as possible.
As I wrote, Linux does use IRQ sharing if the BIOS configured cards to do it. But on SMP systems or UP kernels configured with APIC support it will reroute them to IRQs beyond IRQ 15 in order to have distinct IRQs for every device simply because this reduces overhead in IRQ processing.
Philipp
-- Penguins to save the dinosaurs -- Handelsblatt on Linux for S/390
I believe I did all those steps before and I still could not do irq sharing between a sblive and a INtel Etherexpress 100+ card. There may have been some other issue with particular system though. I had thought I went through and fixed the bios settings as you note above. Got to go back to work though and check. <p> -- Michael Perry mperry@tsoft.com ------------------
Message-ID: <3A0C0409.BDC4F66C@gypsyfarm.com>
Date: Fri, 10 Nov 2000 09:19:53 -0500
From: zentara
* Sean Akers [Thu, 9 Nov 2000 17:12:02 +0000]:
I've never seen Linux share PCI IRQs though.
Of course it does, if the BIOS choose to have cards sharing an IRQ.
For what it's worth, isn't this what the pci-utils software is for? It's on kernel.org under: http://www.kernel.org/pub/software/utils/pciutils/pciutils.lsm
participants (5)
-
mperry@tsoft.com
-
pthomas@suse.de
-
samelash@ix.netcom.com
-
seana@romaxtech.com
-
zentara@gypsyfarm.com