Re: controlling ACPI IRQ routing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday 02 January 2008 19:04, Lee Howard wrote:
> Shaohua Li wrote:
> > Currently vector is allocated when pci_enable_device is called. So which
> > vector is allocated depends on how many drivers already called the
> > routine. The first vector is 0x31, later higher priority (higher) vector
> > will be allocated. In latest kernel, a vector of a irq could be variable
> > when irq affinity is set, so it's much complex. There is no existing
> > method to reserve a vector for a device.
> 
> The systems I've been using are all single-processor AMD x86 or x86_64 
> systems.  So I doubt that IRQ affinity applies in these cases.
> 
> I've made the driver get "preloaded" through mkinitrd/initrd on 
> boot-time, but that doesn't seem to make a difference in device performance.
> 
> Is it possible to see in 'dmesg' output which vector was allocated to 
> which IRQ/device?

no.  the vectors are chosesn when the IOAPIC is programmed
and today, linux just prints out the GSI (which is the IOAPIC pin #)
and the IRQ, which is a corresponding data structure.

>> In IOAPIC mode, interrupt priority isn't related with the pin (in your
>> case, irq 16 or 19), but the vector of the pin.

>Just to help my understanding a bit... does the Linux ACPI driver 
>determine which IRQ numbers are given to certain devices?  And if so, 
>how does it make those assignments?

Yes.  It uses a PCI Routing Table (_PRT) in the DSDT.
The _PRT may either hard-code the relationship between
PCI interrupt pin (as is typical in IOAPIC mode)
or use a PCI Interrupt Link Device (as is common in PIC mode)
that can be programmed to a number of differet input pins.

This is used to minimize interrupt line sharing.
But on your system, you have no interrupt line sharing,
so that isnt' the problem.

-Len
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux