Jesse,
I am not recommending this course of action, but really just passing
along info from the dark side. Windows NT/2000/XP uses a layer called
the HAL (Hardware Abstraction Layer) which determines how Windows is
going to configure hardware. (Basically the motherboard chip set and AGP
only I think) When you do the install of Windows, and 'undocumented'
feature in the paperwork M$ delivers, but it is available on the web, is
that you can choose the HAL layer you want. One HAL layer does this new
IRQ munging, while another allows you to configure the MB usign the
traditional method of doing interrupts.
If Linux does something similar, and gives you a choice, then it
would be interesting to boot one of these machines with the old style
HAL layer.
The negative on this idea is that I am not at all sure that you are
allowed to do this, even in Windows, for an SMP machine. It may only be
allowed on UMP boxes, as there are good technical reasons for wantign to
use the IO-APIC model with SMP.
Anyway, just info. You probably knew all of that already.
Cheers,
Mark
On Sun, 2003-03-23 at 09:51, Jesse Chappell wrote:
On Sun, 23 Mar 2003, R Parker wrote:
What do you make of my IRQs, they're not
consistent
with what you're describing. Is this some newer bios
aipc feature?
The pci cards begin at 16 with two scsi controlers
sharing interupt 16, at 18 we see a third scsi
controler that isn't the same as the one on 16. It's
just the same driver.
Ron, my dual mobo (asus a7m266-d) (amd-762 chipset)
also uses this IRQ system. As
discussed before I thought I had tamed latency problems, but
indeed I have not. When I run this command while 'jackd -R' is
running (and a client is connected) I get massive overruns on
the order of 1-2 *seconds* every 5 seconds or so:
dd if=/dev/zero of=/path/for/bigfile bs=1000 count=1000000
This will write a one gig file as fast as possible. My IDE
drives are tuned properly with hdparm and I'm using SMP
2.4.20 + LL + preemp + radeonDRM. Also tried with 2.4.18 + LL.
$ cat /proc/interrupts
CPU0 CPU1
0: 59143 60400 IO-APIC-edge timer
1: 1948 2013 IO-APIC-edge keyboard
2: 0 0 XT-PIC cascade
8: 1 1 IO-APIC-edge rtc
9: 0 0 IO-APIC-edge acpi
12: 12170 12203 IO-APIC-edge PS/2 Mouse
14: 12232 12459 IO-APIC-edge ide0
15: 52 159 IO-APIC-edge ide1
18: 0 0 IO-APIC-level Ensoniq AudioPCI
19: 6613 6657 IO-APIC-level eth0
NMI: 0 0
LOC: 119459 119465
(my AGP radeon7500 is on IRQ 16.. not shown above for some
reason).
Although my BIOS allows me to specify IRQs for slots, the numbers
there match the traditional style... not this >16 stuff. I tried
anyway, but no change in linux.
I just tried this test on another system, this one UP 2.4.20 +
LL, similar results. Anyone else care to try this informal
disk-loading test? If you have >= 1G of memory, use a
count=2000000 (2GB file).
jlc