Hi,
(2014/08/27 15:50), Matt Thomas wrote:
On Aug 26, 2014, at 11:16 PM, Kengo NAKAHARA <[email protected]> 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 <[email protected]>