Hi, (2014/08/27 15:50), Matt Thomas wrote:
On Aug 26, 2014, at 11:16 PM, Kengo NAKAHARA <k-nakahara%iij.ad.jp@localhost> wrote:It seems good, except return value. IRQ affinity may fail (e.g. when all cpus are set "nointr" flag), so return value should not be void.then we should have a kcpuset_interruptable which is kcpuset_running minus those cpus which have nointr. we also need a callback to the interrupt subsystem when intr changes on a cpu.
Abobe behavior is one of examples. Other examples are below
- the unsetting cpu has pending interrupts
- the peripheral (e.g. i8259) does not support moving interrupts
to other cpu
- the cpu which will be moved interrupts causes lack of resources
- it cannot get lock of the peripheral
Therefore, in the architectures other than x86, IRQ affinity may fail
for other reasons. So, I think IRQ affinity should fail simply and
return reasonable error code.
Thanks,
--
//////////////////////////////////////////////////////////////////////
Internet Initiative Japan Inc.
Device Engineering Section,
Core Product Development Department,
Product Division,
Technology Unit
Kengo NAKAHARA <k-nakahara%iij.ad.jp@localhost>