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]>

Reply via email to