Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Nov 1999 00:25:18 -0800 (PST)
From:      Julian Elischer <julian@whistle.com>
To:        Peter Jeremy <peter.jeremy@alcatel.com.au>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Which is the truth? (sycalls and traps)  (fwd)
Message-ID:  <Pine.BSF.4.10.9911290020520.544-100000@current1.whistle.com>
In-Reply-To: <99Nov29.114712est.40340@border.alcanet.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help


On Mon, 29 Nov 1999, Peter Jeremy wrote:
> > Though in scheduling a long asleep thread, it's stack may
> >be out on swap. You'd need to work out a way of 'pre-faulting' in the
> >thread's context so that the scheduler didn't block trying to load it.
> >or at least scheduling it in a way that allowed the fault to not be 
> >charged against the scheduler, but rather against the thread.
> >
> >The second may actually not be too hard.
> 
> I'm not sure I follow: If a thread dereferences a pointer to a
> non-resident page, how does the thread avoid blocking?

You don't avoid teh fault, you just make sure that you are already
officially 
"no longer the scheduler", but rather the thread you are waking up,
then the kernel can know that it is safe to upcall to the scheduler again.
remember, the original topic was "when the UTS get's a pagefault it
blocks". In this case if it is no longer the UTS, then it's safe to ask
the UTS to schedule something else while the page is being brought in.






To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.10.9911290020520.544-100000>