Skip to content

RFC Support vector domain on ia64

Ishimatsu Yasuaki linux-ia64 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest12 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/12Remove block structure for locking in iosapic.c+0 -00 replies
2/12Remove duplicated members in iosapic_rte_info+0 -00 replies
3/12Use per iosapic lock for indirect iosapic register+0 -00 replies
4/12Cleanup lock order in iosapic_register_intr+0 -00 replies
5/12Use dynamic irq for iosapic interrupts+0 -00 replies
6/12Fix invalid irq vector assumption for iosapic+0 -00 replies
7/12Check if irq is sharable+0 -00 replies
8/12Add mapping table between irq and vector+0 -02 replies
9/12Add support for vector domain+0 -00 replies
10/12Support irq migration across domain+0 -00 replies
11/12Enable percpu vector domain for IA64_GENERIC+0 -00 replies
12/12Enable percpu vector domain for IA64_DIG+0 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC][PATCH 0/12] Support vector domain on ia64

Hi,

Here is a series of patches for vector domain. By these patches, we can use more than 256 irqs. There are based on existing x86-64 vector domain code. There are for 2.6.21 and I tested them on my ia64 box.

This patch set is just a draft, so there are following TBDs, I think.

o How to create vector domain

Per CPU, per node, or others?

o How to migrate irq

In migration, we don't handle the vector for the pending irqs. Probably we should manage it.

o NR_IRQS size

Because I define NR_IRQS as 4096, there is a huge array on generic kernel_stat area. I should determine appropriate size.

o Relation between irq and gsi

On x86_64, irq equals to gsi. It is one easy way to get a suitable irq number from gsi, However, when gsi is larger than the biggest irq, it doesn't work.

o How to assign irq number

If pci drivers are enabled/disabled devices dynamically, its irq number is changed to the different one. I want to avoid it.

The following fourteen patches are related to the vector domain for ia64. This patch set applies against 2.6.21.

  [PATCH 1/12]  Remove block structure for locking in iosapic.c
  [PATCH 2/12]  Remove duplicated members in iosapic_rte_info
  [PATCH 3/12]  Use per iosapic lock for indirect iosapic register access
  [PATCH 4/12]  Cleanup lock order in iosapic_register_intr
  [PATCH 5/12]  Use dynamic irq for iosapic interrupts
  [PATCH 6/12]  Fix invalid irq vector assumption for iosapic
  [PATCH 7/12]  Check if irq is sharable
  [PATCH 8/12]  Add mapping table between irq and vector
  [PATCH 9/12]  Add support for vector domain

[PATCH 10/12] Support irq migration across domain [PATCH 11/12] Enable percpu vector domain for IA64_GENERIC [PATCH 12/12] Enable percpu vector domain for IA64_DIG

For more details. please refer to the header of each patch.

Any comments or questions are welcome.

Thanks.
Yasuaki Ishimatsu