mirror of
https://github.com/team-infusion-developers/android_kernel_samsung_msm8976.git
synced 2024-09-21 03:43:03 +00:00
ARC: Entry Handler tweaks: Simplify branch for in-kernel preemption
commit 147aece29b15051173eb1e767018135361cdba89 upstream. Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
6eed5b7500
commit
1a43738d05
|
@ -589,11 +589,7 @@ ARC_ENTRY ret_from_exception
|
||||||
; Pre-{IRQ,Trap,Exception} K/U mode from pt_regs->status32
|
; Pre-{IRQ,Trap,Exception} K/U mode from pt_regs->status32
|
||||||
ld r8, [sp, PT_status32] ; returning to User/Kernel Mode
|
ld r8, [sp, PT_status32] ; returning to User/Kernel Mode
|
||||||
|
|
||||||
#ifdef CONFIG_PREEMPT
|
|
||||||
bbit0 r8, STATUS_U_BIT, resume_kernel_mode
|
bbit0 r8, STATUS_U_BIT, resume_kernel_mode
|
||||||
#else
|
|
||||||
bbit0 r8, STATUS_U_BIT, restore_regs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
; Before returning to User mode check-for-and-complete any pending work
|
; Before returning to User mode check-for-and-complete any pending work
|
||||||
; such as rescheduling/signal-delivery etc.
|
; such as rescheduling/signal-delivery etc.
|
||||||
|
@ -653,10 +649,10 @@ resume_user_mode_begin:
|
||||||
b resume_user_mode_begin ; unconditionally back to U mode ret chks
|
b resume_user_mode_begin ; unconditionally back to U mode ret chks
|
||||||
; for single exit point from this block
|
; for single exit point from this block
|
||||||
|
|
||||||
#ifdef CONFIG_PREEMPT
|
|
||||||
|
|
||||||
resume_kernel_mode:
|
resume_kernel_mode:
|
||||||
|
|
||||||
|
#ifdef CONFIG_PREEMPT
|
||||||
|
|
||||||
; Can't preempt if preemption disabled
|
; Can't preempt if preemption disabled
|
||||||
GET_CURR_THR_INFO_FROM_SP r10
|
GET_CURR_THR_INFO_FROM_SP r10
|
||||||
ld r8, [r10, THREAD_INFO_PREEMPT_COUNT]
|
ld r8, [r10, THREAD_INFO_PREEMPT_COUNT]
|
||||||
|
|
Loading…
Reference in a new issue