All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/4] normalize return value of chip->irq_set_affinity()
@ 2012-03-30 15:11 Jiang Liu
  2012-03-30 15:11 ` [PATCH v3 1/4] IRQ: correctly handle return value from chip->irq_set_affinity() in irq_move_masked_irq() Jiang Liu
                   ` (3 more replies)
  0 siblings, 4 replies; 17+ messages in thread
From: Jiang Liu @ 2012-03-30 15:11 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: Jiang Liu, Jiang Liu, Keping Chen, linux-kernel

On x86 platforms, interrupt controller chip's irq_set_affinity() method
always copies affinity mask to irq_data->affinity field but still returns
0(IRQ_SET_MASK_OK). That return value causes the interrupt core logic
unnecessarily copies the mask to irq_data->affinity field again.
So return IRQ_SET_MASK_OK_NOCOPY instead of IRQ_SET_MASK_OK to get rid of
the duplicated copy operation.

This patch also fixes a minor bug in irq_move_masked_irq(), which treats
return value IRQ_SET_MASK_OK_NOCOPY as error code.

v2/v3: split patches to only do one thing in a patch according to Thomas'
    suggestion

Jiang Liu (4):
  IRQ: correctly handle return value from chip->irq_set_affinity() in
    irq_move_masked_irq()
  IRQ: introduce irq_do_set_affinity() to reduce duplicated code
  IRQ,x86: normalize return value of chip->irq_set_affinity() method
  IRQ,IA64: normalize return value of chip->irq_set_affinity() method

 arch/ia64/kernel/iosapic.c     |    4 +++-
 arch/ia64/kernel/msi_ia64.c    |    4 ++--
 arch/ia64/sn/kernel/irq.c      |    2 +-
 arch/ia64/sn/kernel/msi_sn.c   |    2 +-
 arch/x86/kernel/apic/io_apic.c |   11 ++++++-----
 arch/x86/platform/uv/uv_irq.c  |    2 +-
 kernel/irq/internals.h         |    3 +++
 kernel/irq/manage.c            |   39 ++++++++++++++++++++++-----------------
 kernel/irq/migration.c         |    6 +-----
 9 files changed, 40 insertions(+), 33 deletions(-)

-- 
1.7.5.4


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2012-05-24 21:24 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-30 15:11 [PATCH v3 0/4] normalize return value of chip->irq_set_affinity() Jiang Liu
2012-03-30 15:11 ` [PATCH v3 1/4] IRQ: correctly handle return value from chip->irq_set_affinity() in irq_move_masked_irq() Jiang Liu
2012-03-30 21:31   ` [tip:irq/core] genirq: Adjust irq thread affinity on IRQ_SET_MASK_OK_NOCOPY return value tip-bot for Jiang Liu
2012-03-30 15:11 ` [PATCH v3 2/4] IRQ: introduce irq_do_set_affinity() to reduce duplicated code Jiang Liu
2012-05-24 20:53   ` [tip:irq/core] genirq: Introduce " tip-bot for Jiang Liu
2012-03-30 15:11 ` [PATCH v3 3/4] IRQ,x86: normalize return value of chip->irq_set_affinity() method Jiang Liu
2012-03-30 21:23   ` Thomas Gleixner
2012-03-31 16:22     ` Jiang Liu
2012-04-01 16:33       ` [PATCH 1/4] IRQ,x86: remove redundant memory copy operations in chip->irq_set_affinity() Jiang Liu
2012-04-01 16:33       ` [PATCH 2/4] IRQ,x86: normalize return value of chip->irq_set_affinity() method Jiang Liu
2012-04-01 16:33       ` [PATCH 3/4] IRQ,IA64: remove redundant memory copy operations in chip->irq_set_affinity() Jiang Liu
2012-04-01 16:33         ` Jiang Liu
2012-04-01 16:33       ` [PATCH 4/4] IRQ,IA64: normalize return value of chip->irq_set_affinity() method Jiang Liu
2012-04-01 16:33         ` Jiang Liu
2012-05-24 21:23   ` [tip:x86/cleanups] x86: Return IRQ_SET_MASK_OK_NOCOPY from irq affinity functions tip-bot for Jiang Liu
2012-03-30 15:11 ` [PATCH v3 4/4] IRQ,IA64: normalize return value of chip->irq_set_affinity() method Jiang Liu
2012-03-30 15:11   ` Jiang Liu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.