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>