tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: RFC: IRQ affinity (aka interrupt routing)
Hi,
(2014/08/20 18:06), Kengo NAKAHARA wrote:
I implement "intrctl" for amd64 and i386. Here is the implementation,
https://github.com/knakahara/netbsd-src/compare/rfc/irq-affinity2
and here is the patch
http://knakahara.github.io/patches/netbsd/irq-affinity-initctl.patch
I implement MI version intrctl. Here is the implementation,
https://github.com/knakahara/netbsd-src/compare/rfc/irq-affinity3
and here is the patch
http://knakahara.github.io/patches/netbsd/irq-affinity-mi.patch
I move MI code to sys/kern/subr_intr.c, of course the code use
intr_distribute() and other MI interfaces.
This version show interrupt list by interrupt name and MI cpu index.
==========
# intrctl list
interrupt name CPU#00(+) CPU#01(-) CPU#02(-) CPU#03(-)
CPU#04(+) CPU#05(+) CPU#06(+) CPU#07(+)
ioapic0 pin 3 0* 0 0 0
0 0 0 0 unknown
ioapic0 pin 4 0* 0 0 0
0 0 0 0 unknown
ioapic0 pin 18 0* 0 0 0
0 0 0 0 unknown
ioapic0 pin 19 1648* 0 0 34
0 0 0 0 unknown, unknown
ioapic0 pin 23 375 0 0 270
273* 0 0 0 unknown, unknown
ioapic0 pin 22 0* 0 0 0
0 0 0 0 unknown
ioapic0 pin 21 0* 0 0 0
0 0 0 0 unknown
ioapic0 pin 20 0* 0 0 0
0 0 0 0 unknown
ioapic0 pin 9 0* 0 0 0
0 0 0 0 unknown
==========
And affinity syntax is here.
intrctl affinity -c 7 -i 'ioapic0 pin 23'
7 : MI cpu index (not cpuid)
'ioapic0 pin 23' : interrupt name same as vmstat -i
Therefore, I test on FUJITSU PRIMERGY RX200 S6 which has two ioapics.
It works well to set affinity 'ioapic1 pin 0' and 'ioapic1 pin 4'.
Could you comment the implementation?
Thanks,
--
//////////////////////////////////////////////////////////////////////
Internet Initiative Japan Inc.
Device Engineering Section,
Core Product Development Department,
Product Division,
Technology Unit
Kengo NAKAHARA <k-nakahara%iij.ad.jp@localhost>
Home |
Main Index |
Thread Index |
Old Index