linux/arch/powerpc
Priyanka Jain f7b3367774 powerpc/32bit:Store temporary result in r0 instead of r8
Commit a9c4e541ea
"powerpc/kprobe: Complete kprobe and migrate exception frame"
introduced a regression:

While returning from exception handling in case of PREEMPT enabled,
_TIF_NEED_RESCHED bit is checked in TI_FLAGS (thread_info flag) of current
task. Only if this bit is set, it should continue with the process of
calling preempt_schedule_irq() to schedule highest priority task if
available.

Current code assumes that r8 contains TI_FLAGS and check this for
_TIF_NEED_RESCHED, but as r8 is modified in the code which executes before
this check, r8 no longer contains the expected TI_FLAGS information.

As a result check for comparison with _TIF_NEED_RESCHED was failing even if
NEED_RESCHED bit is set in the current thread_info flag. Due to this,
preempt_schedule_irq() and in turn scheduler was not getting called even if
highest priority task is ready for execution.

So, store temporary results in r0 instead of r8 to prevent r8 from getting
modified as subsequent code is dependent on its value.

Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
CC: <stable@vger.kernel.org> [v3.7+]
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-06-01 08:29:27 +10:00
..
boot MMC highlights for 3.10: 2013-05-04 13:45:17 -07:00
configs USB: remove remaining instances of USB_SUSPEND 2013-05-15 13:44:44 -04:00
crypto powerpc: Fix compile of sha1-powerpc-asm.S on 32-bit 2013-03-05 16:56:26 +11:00
include powerpc/pseries: Kill all prefetch streams on context switch 2013-06-01 08:29:25 +10:00
kernel powerpc/32bit:Store temporary result in r0 instead of r8 2013-06-01 08:29:27 +10:00
kvm Merge tag 'kvm-3.10-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2013-05-05 14:47:31 -07:00
lib powerpc/pseries: Improve stream generation comments in copypage/user 2013-06-01 08:29:26 +10:00
math-emu
mm powerpc/mm: Always invalidate tlb on hpte invalidate and update 2013-06-01 08:29:26 +10:00
net filter: bpf_jit_comp: refactor and unify BPF JIT image dump output 2013-03-21 17:25:56 -04:00
oprofile Merge branch 'merge' into next 2013-01-29 11:33:37 +11:00
perf powerpc/perf: Fix setting of "to" addresses for BHRB 2013-05-14 16:00:22 +10:00
platforms powerpc/pseries: Make 32-bit MSI quirk work on systems lacking firmware support 2013-05-24 18:16:54 +10:00
sysdev powerpc/mpic: Fix irq distribution problem when MPIC_SINGLE_DEST_CPU 2013-06-01 08:29:24 +10:00
xmon Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-05-02 10:16:16 -07:00
Kconfig Removal of GENERIC_GPIO for v3.10 2013-05-09 09:59:16 -07:00
Kconfig.debug powerpc: Add an in memory udbg console 2013-05-08 06:36:49 +10:00
Makefile powerpc: Avoid load of static chain register when calling nested functions through a pointer on 64bit 2013-01-10 17:01:27 +11:00
relocs_check.pl