WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

Re: [Xen-ia64-devel] vIOSAPIC and IRQs delivery

Tristan Gingold wrote:
Le Jeudi 09 Mars 2006 11:13, Kenji Kaneshige a écrit :

Hi,

Tristan Gingold wrote:

Le Jeudi 09 Mars 2006 01:31, Luck, Tony a écrit :

BTW, I think it will be *very* hard to find an ia64 platform which can
share an IRQ line.  Maybe I am wrong but I don't know such a platform
:-(

Hard? No.

I'd like to have a vendor name and a platform name!

Fujitsu PRIMEQUEST can have so many (> 512) gsi sources and it
needs shared IRQ (vector). Note that what I'm talking is not
sharing IRQ lines but sharing interrupt vector between multiple
RTEs.

Ok this is interesting.
So, you don't share IRQ lines.  My question still stands!

Our server also has one IRQ line shared between multiple devices.
Here is a /proc/interrupts output of linux running on the small
partition on our server.

          CPU0       CPU1
28:          0          0          LSAPIC  cpe_poll
29:          0          0          LSAPIC  cmc_poll
30:          0          0  IO-SAPIC-level  cpe_hndlr
31:          0          0          LSAPIC  cmc_hndlr
39:          0          0  IO-SAPIC-level  acpi
48:          0          0  IO-SAPIC-level  uhci_hcd, ehci_hcd
(snip.)

Sharing vectors is easier, since we should assign one vector to one machine for optimization. We don't want to deliver useless interrupts.


Expensive? Yes.

There are only 255 irqs - minus some that the base kernel steals
for cmc, mca, timer, perfmon, etc.  So any large system with a
few hundred i/o cards _must_ share irqs.  There aren't enough
for one each.

I don't agree.  You can have interrupt domains.  See "Intel Itanium
Processor Family Interrupt Architecture Guide".

As you said, interrupt domains approach is better because

   - Shared IRQ (vector) approach would not work for
     edge-triggered interrupts including MSIs.

   - Interrupt domains approach would have much better
     performance

Unfortunately, AFAIK, interrupt domains approach has not be
implemented for generic ia64-linux kernel yet. It would be
very nice if it is implemented someday. But I guess we need
a lot of efforts for it. To tell the truth, I've posted the
patches for interrupt domains to ia64-linux mailing list
before, though it contains many TBDs and bugs (maybe).

Ok.
Maybe it can be more easily done in Xen ?


Sorry, I'm new to Xen. So I don't know.

Thanks,
Kenji Kaneshige




_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel