kernel-ark/arch/powerpc/kernel
Preeti U Murthy c733cf83bb powerpc/powernv: Check for IRQHAPPENED before sleeping
Commit 8d6f7c5a: "powerpc/powernv: Make it possible to skip the IRQHAPPENED
check in power7_nap()" added code that prevents cpus from checking for
pending interrupts just before entering sleep state, which is wrong. These
interrupts are delivered during the soft irq disabled state of the cpu.

A cpu cannot enter any idle state with pending interrupts because they will
never be serviced until the next time the cpu is woken up by some other
interrupt. Its only then that the pending interrupts are replayed. This can result
in device timeouts or warnings about this cpu being stuck.

This patch fixes ths issue by ensuring that cpus check for pending interrupts
just before entering any idle state as long as they are not in the path of split
core operations.

Signed-off-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2014-07-11 12:55:06 +10:00
..
vdso32 powerpc/booke64: Use SPRG7 for VDSO 2014-03-19 19:57:14 -05:00
vdso64 powerpc/booke64: Use SPRG7 for VDSO 2014-03-19 19:57:14 -05:00
.gitignore
align.c KVM: PPC: BOOK3S: Remove open coded make_dsisr in alignment handler 2014-05-30 14:26:25 +02:00
asm-offsets.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2014-06-10 18:54:22 -07:00
audit.c
btext.c
cacheinfo.c powerpc/pseries: Update dynamic cache nodes for suspend/resume operation 2014-03-07 15:54:49 +11:00
cacheinfo.h
compat_audit.c
cpu_setup_6xx.S
cpu_setup_44x.S
cpu_setup_fsl_booke.S powerpc: No need to use dot symbols when branching to a function 2014-04-23 10:05:16 +10:00
cpu_setup_pa6t.S
cpu_setup_power.S powerpc/powernv: Enable POWER8 doorbell IPIs 2014-06-11 17:05:12 +10:00
cpu_setup_ppc970.S
cputable.c powerpc: Remove platforms/wsp and associated pieces 2014-06-11 16:35:38 +10:00
crash_dump.c powerpc/crashdump : Fix page frame number check in copy_oldmem_page 2014-02-28 18:06:25 +11:00
crash.c arch,powerpc: Convert smp_mb__*() 2014-04-18 14:20:41 +02:00
dbell.c
dma-iommu.c powerpc/iommu: Update the generic code to use dynamic iommu page sizes 2013-12-30 14:17:19 +11:00
dma-swiotlb.c
dma.c powerpc/powernv: Add iommu DMA bypass support for IODA2 2014-02-11 16:07:37 +11:00
eeh_cache.c
eeh_dev.c
eeh_driver.c powerpc/powernv: Fix killed EEH event 2014-06-11 17:04:33 +10:00
eeh_event.c powerpc/powernv: Fix killed EEH event 2014-06-11 17:04:33 +10:00
eeh_pe.c powerpc/eeh: Dump PE location code 2014-06-11 19:12:23 +10:00
eeh_sysfs.c powerpc/eeh: Skip eeh sysfs when eeh is disabled 2014-06-05 13:20:38 +10:00
eeh.c powerpc/eeh: Dump PE location code 2014-06-11 19:12:23 +10:00
entry_32.S
entry_64.S powerpc: Correct DSCR during TM context switch 2014-06-11 17:02:56 +10:00
epapr_hcalls.S
epapr_paravirt.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2014-06-10 18:54:22 -07:00
exceptions-64e.S powerpc: Remove platforms/wsp and associated pieces 2014-06-11 16:35:38 +10:00
exceptions-64s.S powerpc/book3s: Fix some ABIv2 issues in machine check code 2014-06-12 09:41:33 +10:00
fadump.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2014-06-10 18:54:22 -07:00
firmware.c
fpu.S powerpc: Don't corrupt transactional state when using FP/VMX in kernel 2014-01-15 13:59:11 +11:00
fsl_booke_entry_mapping.S powerpc: enable the relocatable support for the fsl booke 32bit kernel 2014-01-09 17:52:16 -06:00
ftrace.c powerpc/ftrace: Use pr_fmt() to namespace error messages 2014-06-24 14:05:50 +10:00
head_8xx.S
head_32.S
head_40x.S powerpc: Remove check for CONFIG_SERIAL_TEXT_DEBUG 2014-06-11 16:31:21 +10:00
head_44x.S
head_64.S powerpc: Fix SMP issues with ppc64le ABIv2 2014-04-23 10:05:26 +10:00
head_booke.h
head_fsl_booke.S powerpc/fsl_booke: smp support for booting a relocatable kernel above 64M 2014-01-09 17:52:18 -06:00
hw_breakpoint.c powerpc: Fix smp_processor_id() in preemptible splat in set_breakpoint 2014-05-20 10:54:06 +10:00
ibmebus.c
idle_6xx.S
idle_book3e.S powerpc: No need to use dot symbols when branching to a function 2014-04-23 10:05:16 +10:00
idle_e500.S
idle_power4.S powerpc: No need to use dot symbols when branching to a function 2014-04-23 10:05:16 +10:00
idle_power7.S powerpc/powernv: Check for IRQHAPPENED before sleeping 2014-07-11 12:55:06 +10:00
idle.c
io-workarounds.c
io.c
iomap.c powerpc/kerenl: Enable EEH for IO accessors 2014-06-24 12:43:13 +10:00
iommu.c powerpc/powernv: Add iommu DMA bypass support for IODA2 2014-02-11 16:07:37 +11:00
irq.c powerpc: update comments for generic idle conversion 2014-06-06 16:08:18 -07:00
isa-bridge.c
jump_label.c
kgdb.c powerpc: Delete non-required instances of include <linux/init.h> 2014-01-15 13:46:44 +11:00
kprobes.c powerpc/kprobes: Fix jprobes on ABI v2 (LE) 2014-06-24 14:05:55 +10:00
kvm_emul.S
kvm.c At over 200 commits, covering almost all supported architectures, this 2014-06-04 08:47:12 -07:00
l2cr_6xx.S
legacy_serial.c powerpc/serial: Use saner flags when creating legacy ports 2014-06-05 13:20:36 +10:00
machine_kexec_32.c
machine_kexec_64.c powerpc, kexec: Fix "Processor X is stuck" issue during kexec from ST mode 2014-05-28 13:24:26 +10:00
machine_kexec.c powerpc: Fix endian issues in kexec and crash dump code 2014-02-11 11:24:52 +11:00
Makefile powerpc: Remove platforms/wsp and associated pieces 2014-06-11 16:35:38 +10:00
mce_power.c powerpc/book3s: Recover from MC in sapphire on SCOM read via MMIO. 2014-03-07 15:52:10 +11:00
mce.c powerpc/book3s: Recover from MC in sapphire on SCOM read via MMIO. 2014-03-07 15:52:10 +11:00
misc_32.S powerpc: Set the correct ksp_limit on ppc32 when switching to irq stack 2014-02-17 11:19:34 +11:00
misc_64.S powerpc: module: handle MODVERSION for .TOC. 2014-04-23 10:05:28 +10:00
misc.S
module_32.c
module_64.c powerpc/module: Fix TOC symbol CRC 2014-06-25 13:10:48 +10:00
module.c
msi.c
nvram_64.c
of_platform.c
paca.c KVM: PPC: Book3S PR: Rework SLB switching code 2014-05-30 14:26:30 +02:00
pci_32.c
pci_64.c powerpc/PCI: Fix NULL dereference in sys_pciconfig_iobase() list traversal 2014-04-14 16:33:49 -06:00
pci_dn.c
pci_of_scan.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2014-06-10 18:54:22 -07:00
pci-common.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2014-06-10 18:54:22 -07:00
pci-hotplug.c powerpc/PCI: Use pci_is_bridge() to simplify code 2014-05-27 14:57:36 -06:00
pmc.c
ppc32.h
ppc_ksyms.c powerpc: memcpy optimization for 64bit LE 2014-04-30 15:26:18 +10:00
ppc_save_regs.S
proc_powerpc.c
process.c powerpc: Correct DSCR during TM context switch 2014-06-11 17:02:56 +10:00
prom_init_check.sh powerpc/powernv: Remove OPAL v1 takeover 2014-06-25 13:10:47 +10:00
prom_init.c powerpc/powernv: Remove OPAL v1 takeover 2014-06-25 13:10:47 +10:00
prom_parse.c
prom.c powerpc/powernv: Remove OPAL v1 takeover 2014-06-25 13:10:47 +10:00
ptrace32.c
ptrace.c powerpc: PTRACE_PEEKUSR always returns FPR0 2013-12-13 15:48:33 +11:00
reloc_32.S
reloc_64.S powerpc: Align p_dyn, p_rela and p_st symbols 2014-03-07 13:50:19 +11:00
rtas_flash.c powerpc: Fix error return in rtas_flash module init 2014-04-28 16:32:07 +10:00
rtas_pci.c powerpc/eeh: Block PCI-CFG access during PE reset 2014-04-28 17:34:02 +10:00
rtas-proc.c
rtas-rtc.c
rtas.c of/fdt: update of_get_flat_dt_prop in prep for libfdt 2014-04-30 00:59:15 -05:00
rtasd.c powerpc/le: Enable RTAS events support 2014-04-07 10:33:12 +10:00
setup_32.c powerpc: Make boot_cpuid common between 32 and 64-bit 2014-04-07 10:33:14 +10:00
setup_64.c powerpc: Allow ppc_md platform hook to override memory_block_size_bytes 2014-06-05 13:20:39 +10:00
setup-common.c powerpc: Don't skip ePAPR spin-table CPUs 2014-06-25 13:10:49 +10:00
signal_32.c powerpc: Remove ancient DEBUG_SIG code 2014-06-24 12:43:14 +10:00
signal_64.c powerpc: Remove ancient DEBUG_SIG code 2014-06-24 12:43:14 +10:00
signal.c powerpc: Fix smp_processor_id() in preemptible splat in set_breakpoint 2014-05-20 10:54:06 +10:00
signal.h
smp-tbsync.c powerpc: Delete non-required instances of include <linux/init.h> 2014-01-15 13:46:44 +11:00
smp.c Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-06-12 19:42:15 -07:00
stacktrace.c
suspend.c
swsusp_32.S
swsusp_64.c
swsusp_asm64.S
swsusp_booke.S powerpc/fsl-booke: Use SPRN_SPRGn rather than mfsprg/mtsprg 2014-01-07 19:06:03 -06:00
swsusp.c
sys_ppc32.c
syscalls.c powerpc: Delete non-required instances of include <linux/init.h> 2014-01-15 13:46:44 +11:00
sysfs.c powerpc: Fix regression of per-CPU DSCR setting 2014-05-28 13:35:40 +10:00
systbl_chk.c
systbl_chk.sh
systbl.S powerpc: Create DOTSYM to wrap dot symbol usage 2014-04-23 10:05:19 +10:00
tau_6xx.c
time.c powerpc: fix typo 'CONFIG_PMAC' 2014-06-11 17:04:29 +10:00
tm.S powerpc: Fix regression of per-CPU DSCR setting 2014-05-28 13:35:40 +10:00
traps.c powerpc/book3s: Increment the mce counter during machine_check_early call. 2014-06-11 19:15:14 +10:00
udbg_16550.c powerpc: Remove platforms/wsp and associated pieces 2014-06-11 16:35:38 +10:00
udbg.c powerpc: Remove platforms/wsp and associated pieces 2014-06-11 16:35:38 +10:00
uprobes.c
vdso.c powerpc/booke64: Use SPRG7 for VDSO 2014-03-19 19:57:14 -05:00
vecemu.c
vector.S powerpc: Don't corrupt transactional state when using FP/VMX in kernel 2014-01-15 13:59:11 +11:00
vio.c powerpc: Revert c6102609 and replace it with the correct fix for vio dma mask setting 2014-03-07 15:50:12 +11:00
vmlinux.lds.S powerpc/modules: Module CRC relocation fix causes perf issues 2013-07-24 14:18:43 +10:00