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/21 20:07), Manuel Bouyer wrote:
Currently intrctl use "14" for both 'ioapic0' and 'ioapic1', this is
a bug...
I fix it as intrctl use "14" for 'ioapic0' on the other hand "38" for
'ioapic1'. "38" for 'ioapic1' is defined following
     14 (pin number) + 24 * 1 (offset for secondary ioapic)
    # in the case of 'ioapic3 pin 1', 1 + 24 * 3 = 73 is used by intrctl
An ioapic has 24 pins, so I think adding 24 can avoid duplication. However
it may be not so good. I consider a little more about this implementation.

yes, please. Using this IRQ number is not straitforward and error-prone.
Using the same values as vmstat -i would make it much easier.

To reconsider this matter, I think intrctl should use interrupt names like
"ioapic1 pin 14". So, I change the usage of "intrctl affinity" to following
    intrctl affinity -i "interrupt_name" -c "cpuid"
        e.g. # intrctl affinity -c 0 -i "ioapic1 pin 14"

In addition, "intrctl list" show like following
====================
      intr name      CPU#00(+)       CPU#02(+)
 ioapic0 pin 19           1777*              0        ahcisata0
 ioapic0 pin 20              0*              0        wm0
 ioapic1 pin 14              0*              0        wm1
====================

Could you comment this specification?


martin%duskware.de@localhost
As you indicated, it is better to use interrupt names :)
I think using string let intrctl interface be MI. Of course, each
architectures must implement parsing interrupt name, but I think
the implementation is not so hard.

Therefore, I also consider about using device names. I think device names
is more MI than interrupt names. I plan to support using device names.

By the way, I haven't seen ioapic*3*. Could you tell me your machine's
model number?

It's a DELL poweredge 2950:
NetBSD 6.0_STABLE (SWING) #1: Thu Jan 10 13:23:17 MET 2013
         
bouyer%disco.soc.lip6.fr@localhost:/home/bouyer/tmp/i386/obj/home/bouyer/src-6/src/sys/arch/i386/compile/SWING

Thank you for information. I try to get or borrow it.


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