Messages in this thread | | | Date | Sat, 9 Apr 2005 15:58:10 -0700 | From | "David S. Miller" <> | Subject | Re: [patch] sched: unlocked context-switches |
| |
On Sat, 9 Apr 2005 00:15:37 -0700 David Mosberger <davidm@napali.hpl.hp.com> wrote:
> 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.
Sparc64 has a deadlock because we hold mm->page_table_lock during switch_mm(). I bet IA64 did something similar, as I remember it had a very similar locking issue in this area.
So the deadlock was, we held the runqueue locks over switch_mm(), switch_mm() spins on mm->page_table_lock, the cpu which does have mm->page_table_lock tries to do a wakeup on the first cpu's runqueue. Classic AB-BA deadlock. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |