Skip to content

RFC Support vector domain on ia64

Yasuaki Ishimatsu linux-ia64 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest13 patches 8 repliesIn review

Changes from previous patchset from the cover letter

- rebase to 2.6.22-rc5

- define NR_IRQS as (NR_VECTORS + (32 * NR_CPUS))
NR_VECTROS equals 256

- bind gsi to irq
If irq number is changed for each enable/disable, suspend/resume may cause some problems. To avoid this problem, bind each gsi to specific irq.

Patches in v1 No applies recorded yet

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

Hi,

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

Changes from previous patchset:

- rebase to 2.6.22-rc5

- define NR_IRQS as (NR_VECTORS + (32 * NR_CPUS))
NR_VECTROS equals 256

- bind gsi to irq
If irq number is changed for each enable/disable, suspend/resume may cause some problems. To avoid this problem, bind each gsi to specific irq.

This patchset is just a draft, so there is following TBD, I think.

o How to migrate irq

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

There are following 13 patches for ia64 vector domain.

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

[PATCH take2 10/13] Support irq migration across domain [PATCH take2 11/13] Enable percpu vector domain for IA64_GENERIC [PATCH take2 12/13] Enable percpu vector domain for IA64_DIG [PATCH take2 13/13] Bind gsi to irq

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

Any comments or questions are welcome.

Thanks.
Yasuaki Ishimatsu