lkml.org 
[lkml]   [2012]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v3 0/4] normalize return value of chip->irq_set_affinity()
Date
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



\
 
 \ /
  Last update: 2012-03-30 17:23    [W:0.097 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site