Re: [patch] sched: unlocked context-switches

From: David Mosberger
Date: Sat Apr 09 2005 - 02:17:11 EST


>>>>> On Sat, 9 Apr 2005 09:07:38 +0200, Ingo Molnar <mingo@xxxxxxx> said:

Ingo> * David Mosberger-Tang <David.Mosberger@xxxxxxx> wrote:

>> > The ia64_switch_to() code includes a section that can change a
>> > pinned MMU mapping (when the stack for the new process is in a
>> > different granule from the stack for the old process). The code
>> > beyond the ".map" label in arch/ia64/kernel/entry.S includes the
>> > comment:

>> Also, there was a nasty dead-lock that could trigger if the
>> context-switch was interrupted by a TLB flush IPI. I don't
>> remember the details offhand, but I'm pretty sure it had to do
>> with switch_mm(), so I suspect it may not be enough to disable
>> irqs just for ia64_switch_to(). Tread with care!

Ingo> we'll see. The patch certainly needs more testing. Generally
Ingo> we do switch_mm()'s outside of the scheduler as well, without
Ingo> disabling interrupts.

Yes, of course. The deadlock was due to context-switching, not
switch_mm() per se. Hopefully someone else beats me to remembering
the details before Monday.

--david
-
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/