[patch 083/198] x86_64: Fix a small missing schedule race

From: akpm
Date: Tue Apr 12 2005 - 21:40:40 EST



From: "Andi Kleen" <ak@xxxxxxx>

Could lead to a lost reschedule event when the process already rescheduled on
exception exit, and needs it again while still being in the kernel. Unlikely
case though.

Also remove one redundant cli in another entry.S path.

Signed-off-by: Andi Kleen <ak@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

25-akpm/arch/x86_64/kernel/entry.S | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN arch/x86_64/kernel/entry.S~x86_64-fix-a-small-missing-schedule-race arch/x86_64/kernel/entry.S
--- 25/arch/x86_64/kernel/entry.S~x86_64-fix-a-small-missing-schedule-race 2005-04-12 03:21:23.062630848 -0700
+++ 25-akpm/arch/x86_64/kernel/entry.S 2005-04-12 03:21:23.066630240 -0700
@@ -284,6 +284,7 @@ int_careful:
pushq %rdi
call schedule
popq %rdi
+ cli
jmp int_with_check

/* handle signals and tracing -- both require a full stack frame */
@@ -453,7 +454,6 @@ retint_check:
andl %edi,%edx
jnz retint_careful
retint_swapgs:
- cli
swapgs
retint_restore_args:
cli
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/