Messages in this thread | | | Date | Sun, 18 Jul 1999 12:07:58 -0400 (EDT) | From | Alexander Viro <> | Subject | Re: gdb strangness Under 2.3.11-pre1 |
| |
On Sun, 18 Jul 1999, Alexander Viro wrote:
> Ooops. Take out everything except fs/proc/* stuff - the rest is heavily > wrong. > > BTW, folks - something seriously weird happens: in schedule() we have a > get_mmu_context(...); > switch_to(...); > put_mmu_context(...); > Fine. Looks like the last line is *never* executed. OK, I said <censored> > and inserted printk("foo"); before the switch_to() and panic("bar"); > immediately after. No way in hell - it executes the printk(). On all > switches. Yep, plural - panic() is never called. WTF??? OK, we are > switching to another process, but bloody hell, we are going into the same > blasted place in the schedule(). Or at least we are supposed to... What > the ?
... hell. I'm an idiot - there is such thing as fork(). And that's what Ingo missed - when we switch from lazy thread to new process (i.e. just created by fork()) put_mmu_context() is not called. At all. Oh, well - I'm moving it into __schedule_tail(). Hope this will plug the leak...
- 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/
| |