cvs commit: src/lib/libpthread/thread thr_attr_get_np.c thr_cancel.c thr_getschedparam.c thr_join.c thr_mutex_prioceiling.c thr_sigaction.c thr_sigmask.c thr_sigpending.c thr_sigsuspend.c

Alfred Perlstein bright at mu.org
Sun Jul 6 22:41:54 PDT 2003


* David Xu <davidxu at viatech.com.cn> [030706 21:45] wrote:
> 
> > * David Xu <davidxu at FreeBSD.org> [030706 21:28] wrote:
> > > davidxu     2003/07/06 21:28:23 PDT
> > > 
> > >   FreeBSD src repository
> > > 
> > >   Modified files:
> > >     lib/libpthread/thread thr_attr_get_np.c thr_cancel.c 
> > >                           thr_getschedparam.c thr_join.c 
> > >                           thr_mutex_prioceiling.c thr_sigaction.c 
> > >                           thr_sigmask.c thr_sigpending.c 
> > >                           thr_sigsuspend.c 
> > >   Log:
> > >   Avoid accessing user provided parameters in critical region.
> > 
> > Interesting, is this to avoid pagefaults during critical sections
> > inside userspace?
> > 
> Yes.

Sorry to yammer out a bunch of questions out of the blue, but I'm
trying to understand:

Is that completely necessary?  I mean, isn't it likely that these
arguements are paged in since they are parameters that have just
been touched by the process?  What if there's paging pressure and
the stack gets paged out anyway?  Is there something protecting
that from happening?  I mean, I know it would be unpleasant to
fault, but the code should be able to handle this right?

-- 
-Alfred Perlstein [alfred at freebsd.org]
'Instead of asking why a piece of software is using "1970s technology,"
 start asking why software is ignoring 30 years of accumulated wisdom.'


More information about the cvs-all mailing list