Messages in this thread Patch in this message | | | Date | Tue, 8 Dec 1998 16:40:11 +0100 (CET) | From | MOLNAR Ingo <> | Subject | Re: IPI deadlock bug |
| |
On Tue, 8 Dec 1998, Amnon Shiloh wrote:
> Hello, > > Here is a serious bug that can cause deadlocks on an SMP > in the latest 2.1.1xx kernels:
[nicely spotted!]
> ret_from_intr: > GET_CURRENT(%ebx) > movl EFLAGS(%esp),%eax # mix EFLAGS and CS > movb CS(%esp),%al > testl $(VM_MASK | 3),%eax # return to VM86 mode or non-supervisor? > - jne ret_with_reschedule > - jmp restore_all > + je restore_all > + sti > + jmp ret_with_reschedule > > ALIGN > > Hope this is included in the forthcoming Linux kernels.
here is another SMP one, not as serious but if we are at changing entry.S anyway :)
--- linux/arch/i386/kernel/entry.S.orig Mon Dec 7 22:58:46 1998 +++ linux/arch/i386/kernel/entry.S Tue Dec 8 15:28:27 1998 @@ -155,7 +155,7 @@ ret_from_fork: GET_CURRENT(%ebx) #ifdef __SMP__ - btrl $0, SYMBOL_NAME(scheduler_lock) + lock; btrl $0, SYMBOL_NAME(scheduler_lock) #endif /* __SMP__ */ jmp ret_from_sys_call
-- mingo
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |