Will Deacon
5e7371ded0
ARM: 7406/1: hotplug: copy the affinity mask when forcefully migrating IRQs
...
When a CPU is hotplugged off, we migrate any IRQs currently affine to it
away and onto another online CPU by calling the irq_set_affinity
function of the relevant interrupt controller chip. This function
returns either IRQ_SET_MASK_OK or IRQ_SET_MASK_OK_NOCOPY, to indicate
whether irq_data.affinity was updated.
If we are forcefully migrating an interrupt (because the affinity mask
no longer identifies any online CPUs) then we should update the IRQ
affinity mask to reflect the new CPU set. Failure to do so can
potentially leave /proc/irq/n/smp_affinity identifying only offline
CPUs, which may confuse userspace IRQ balancing daemons.
This patch updates migrate_one_irq to copy the affinity mask when
the interrupt chip returns IRQ_SET_MASK_OK after forcefully changing the
affinity of an interrupt.
Cc: stable@vger.kernel.org
Reported-by: Leif Lindholm <leif.lindholm@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-04-28 11:01:31 +01:00
..
.gitignore
[ARM] 5194/1: update .gitignore
2008-08-12 19:54:09 +01:00
armksyms.c
Disintegrate asm/system.h for ARM
2012-03-28 18:30:01 +01:00
arthur.c
[ARM] arm/kernel/arthur.c: add MODULE_LICENSE
2008-05-17 22:55:16 +01:00
asm-offsets.c
ARM: 7114/1: cache-l2x0: add resume entry for l2 in secure mode
2011-10-17 09:11:51 +01:00
atags.c
clean up atags exporting code
2008-05-30 10:33:49 +02:00
atags.h
bios32.c
ARM: fix bios32.c build warning
2012-03-30 21:03:54 +01:00
calls.S
ARM: wire up process_vm_writev and process_vm_readv syscalls
2011-11-17 16:58:00 +00:00
compat.c
ARM: deprecate support for old way to pass kernel parameters
2010-07-07 16:38:36 +02:00
compat.h
ARM: deprecate support for old way to pass kernel parameters
2010-07-07 16:38:36 +02:00
cpuidle.c
cpuidle: Add common time keeping and irq enabling
2012-03-21 01:59:40 -04:00
crash_dump.c
crash_dump: export is_kdump_kernel to modules, consolidate elfcorehdr_addr, setup_elfcorehdr and saved_max_pfn
2011-03-23 19:47:19 -07:00
debug.S
ARM: cleanups of io includes
2012-03-29 18:02:10 -07:00
devtree.c
arm: convert core files from module.h to export.h
2011-10-31 19:30:49 -04:00
dma-isa.c
ARM: dma-isa: request cascade channel after registering it
2009-12-24 18:34:08 +00:00
dma.c
locking, ARM: Annotate low level hw locks as raw
2011-09-13 11:12:14 +02:00
early_printk.c
ARM: Add an earlyprintk debug console
2009-12-09 10:02:18 +00:00
elf.c
Disintegrate asm/system.h for ARM
2012-03-28 18:30:01 +01:00
entry-armv.S
ARM: cleanups of io includes
2012-03-29 18:02:10 -07:00
entry-common.S
ARM: make arch_ret_to_user macro optional
2012-02-21 17:04:10 -06:00
entry-header.S
Merge branch 'devel-stable' into for-next
2011-07-22 23:09:07 +01:00
etm.c
arm: fix implicit module.h users by adding it to arch/arm as required.
2011-10-31 19:30:50 -04:00
fiq.c
ARM: move CP15 definitions to separate header file
2012-03-28 18:30:01 +01:00
fiqasm.S
ARM: 6938/1: fiq: Refactor {get,set}_fiq_regs() for Thumb-2
2011-05-26 10:31:06 +01:00
ftrace.c
ARM: 7331/1: extract out insn generation code from ftrace
2012-03-24 09:38:55 +00:00
head-common.S
arm/dt: Make __vet_atags also accept a dtb image
2011-05-11 15:12:32 +02:00
head-nommu.S
ARM: move CP15 definitions to separate header file
2012-03-28 18:30:01 +01:00
head.S
ARM: move CP15 definitions to separate header file
2012-03-28 18:30:01 +01:00
hw_breakpoint.c
Disintegrate asm/system.h for ARM
2012-03-28 18:30:01 +01:00
init_task.c
Use new __init_task_data macro in arch init_task.c files.
2009-09-21 06:27:08 +02:00
insn.c
ARM: fix missing bug.h include in arch/arm/kernel/insn.c
2012-03-30 11:51:46 +01:00
insn.h
ARM: 7334/1: add jump label support
2012-03-24 09:38:56 +00:00
io.c
arm: convert core files from module.h to export.h
2011-10-31 19:30:49 -04:00
irq.c
ARM: 7406/1: hotplug: copy the affinity mask when forcefully migrating IRQs
2012-04-28 11:01:31 +01:00
isa.c
sysctl: Drop & in front of every proc_handler.
2009-11-18 08:37:40 -08:00
iwmmxt.S
ARM: pxa: fix logic error in PJ4 iWMMXt handling
2011-08-11 10:10:26 +08:00
jump_label.c
ARM: 7334/1: add jump label support
2012-03-24 09:38:56 +00:00
kgdb.c
kgdb,arm: fix register dump
2010-10-29 13:14:40 -05:00
kprobes-arm.c
ARM: 7181/1: Restrict kprobes probing SWP instructions to ARMv5 and below
2011-11-30 23:54:54 +00:00
kprobes-common.c
Disintegrate asm/system.h for ARM
2012-03-28 18:30:01 +01:00
kprobes-test-arm.c
ARM: 7181/1: Restrict kprobes probing SWP instructions to ARMv5 and below
2011-11-30 23:54:54 +00:00
kprobes-test-thumb.c
ARM: 7174/1: Fix build error in kprobes test code on Thumb2 kernels
2011-11-26 21:58:53 +00:00
kprobes-test.c
ARM: 7209/1: Use generic ARM instruction set condition code checks for kprobes.
2011-12-13 08:52:03 +00:00
kprobes-test.h
ARM: 7174/1: Fix build error in kprobes test code on Thumb2 kernels
2011-11-26 21:58:53 +00:00
kprobes-thumb.c
ARM: kprobes: Add exports for test code
2011-09-20 18:17:43 +00:00
kprobes.c
Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999 BFCB D920 0E6C D1AD B8F1
2012-04-02 08:53:24 -07:00
kprobes.h
ARM: kprobes: Add exports for test code
2011-09-20 18:17:43 +00:00
leds.c
arm: leds: convert sysdev_class to a regular subsystem
2011-12-21 15:52:57 -08:00
machine_kexec.c
Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm
2012-03-29 16:53:48 -07:00
Makefile
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux
2012-03-30 16:45:39 -07:00
module.c
ARM: 7059/1: LPAE: Use PMD_(SHIFT|SIZE|MASK) instead of PGDIR_*
2011-08-23 15:30:33 +01:00
opcodes.c
ARM: 7206/1: Add generic ARM instruction set condition code checks.
2011-12-13 08:52:02 +00:00
patch.c
ARM: 7332/1: extract out code patch function from kprobes
2012-03-24 09:38:55 +00:00
patch.h
ARM: 7332/1: extract out code patch function from kprobes
2012-03-24 09:38:55 +00:00
perf_event.c
Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm
2012-03-29 16:53:48 -07:00
perf_event_v6.c
ARM: 7356/1: perf: check that we have an event in the PMU IRQ handlers
2012-03-07 09:40:49 +00:00
perf_event_v7.c
Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm
2012-03-29 16:53:48 -07:00
perf_event_xscale.c
ARM: 7357/1: perf: fix overflow handling for xscale2 PMUs
2012-03-07 09:40:49 +00:00
pj4-cp0.c
arm: remove several unnecessary module.h include instances
2011-10-31 19:30:48 -04:00
pmu.c
ARM: PMU: re-export release_pmu symbol to modules
2011-11-16 10:06:42 +00:00
process.c
Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm
2012-03-29 16:53:48 -07:00
ptrace.c
ARM: 7337/1: ptrace: fix ptrace_read_user for !CONFIG_MMU platforms
2012-03-30 12:17:33 +01:00
relocate_kernel.S
ARM: 7065/1: kexec: ensure new kernel is entered in ARM state
2011-08-28 10:39:41 +01:00
return_address.c
arm: convert core files from module.h to export.h
2011-10-31 19:30:49 -04:00
sched_clock.c
ARM: sync sched_clock() state on suspend
2012-03-24 09:38:53 +00:00
setup.c
ARM: 7382/1: mm: truncate memory banks to fit in 4GB space for classic MMU
2012-04-15 22:00:30 +01:00
signal.c
ARM: 7399/1: vfp: move user vfp state save/restore code out of signal.c
2012-04-23 15:44:41 +01:00
signal.h
ARM: Fix signal restart issues with NX and OABI compat
2009-10-25 15:39:37 +00:00
sleep.S
Disintegrate asm/system.h for ARM
2012-03-28 18:30:01 +01:00
smp.c
ARM: 7405/1: kexec: call platform_cpu_kill on the killer rather than the victim
2012-04-28 11:01:31 +01:00
smp_scu.c
Merge branches 'arnd-randcfg-fixes', 'debug', 'io' (early part), 'l2x0', 'p2v', 'pgt' (early part) and 'smp' into for-linus
2011-10-25 08:19:29 +01:00
smp_tlb.c
smp: introduce a generic on_each_cpu_mask() function
2012-03-28 17:14:35 -07:00
smp_twd.c
Revert "ARM: 7359/2: smp_twd: Only wait for reprogramming on active cpus"
2012-04-19 19:35:10 +01:00
stacktrace.c
arm: convert core files from module.h to export.h
2011-10-31 19:30:49 -04:00
suspend.c
ARM: suspend: use idmap_pgd instead of suspend_pgd
2011-12-06 14:04:14 +00:00
swp_emulate.c
ARM: 7208/1: Add condition code checking to SWP emulation handler.
2011-12-13 08:52:03 +00:00
sys_arm.c
arm: convert core files from module.h to export.h
2011-10-31 19:30:49 -04:00
sys_oabi-compat.c
ARM: 6891/1: prevent heap corruption in OABI semtimedop
2011-04-29 15:53:14 +01:00
tcm.c
Disintegrate asm/system.h for ARM
2012-03-28 18:30:01 +01:00
tcm.h
ARM: 5580/2: ARM TCM (Tightly-Coupled Memory) support v3
2009-09-15 22:11:05 +01:00
thumbee.c
Disintegrate asm/system.h for ARM
2012-03-28 18:30:01 +01:00
time.c
Merge branch 'sched_clock-for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into devel-stable
2012-02-04 10:32:18 +00:00
topology.c
ARM: 7182/1: ARM cpu topology: fix warning
2011-11-30 23:55:21 +00:00
traps.c
Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm
2012-03-29 16:53:48 -07:00
unwind.c
ARM: unwinder: fix bisection to find origin in .idx section
2011-12-15 14:02:19 -08:00
vmlinux.lds.S
ARM: 7320/1: Fix proc_info table alignment
2012-02-09 16:25:37 +00:00
xscale-cp0.c
arm: remove several unnecessary module.h include instances
2011-10-31 19:30:48 -04:00