Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Jan 2002 18:59:29 -0600
From:      Alfred Perlstein <bright@mu.org>
To:        Nate Williams <nate@yogotech.com>
Cc:        Dan Eischen <eischen@vigrid.com>, Peter Wemm <peter@wemm.org>, Archie Cobbs <archie@dellroad.org>, arch@FreeBSD.ORG
Subject:   Re: Request for review: getcontext, setcontext, etc
Message-ID:  <20020107185929.H18706@elvis.mu.org>
In-Reply-To: <15418.663.130281.835301@caddis.yogotech.com>; from nate@yogotech.com on Mon, Jan 07, 2002 at 01:18:31PM -0700
References:  <20020106232937.9F87D38CC@overcee.netplex.com.au> <3C390746.5FE7648C@vigrid.com> <15417.59947.662052.836634@caddis.yogotech.com> <20020107130208.E18706@elvis.mu.org> <15418.663.130281.835301@caddis.yogotech.com>

next in thread | previous in thread | raw e-mail | index | archive | help
* Nate Williams <nate@yogotech.com> [020107 14:18] wrote:
> > 
> > Well, one trick might be to do this:
> > 
> > 1)  Request that the OS turn off the FP enabled bit when running new
> > threads.
> 
> In userland threads, there is no way to turn it off on a thread basis,
> so it's either on/off for the entire process.

You read this wrong.

The _pthreads library_ asks the kernel to turn off the bit when
scheduling a new thread.

> > 2) If you get an FP not present exception you mark that thread as
> > using FP.
> 
> At this point, we'd have to turn it on for all threads, since any future
> thread that uses the context would also need to save/restore the
> thread.  (Since, FPU would be turned on for this 'process'.)

The FPU may be turned on in the kernel context, however the userland
context should be able to switch it back off after saving it itself.

> > 3) In the threads scheduler and at context switch time between it (the
> > thread) and any other thread not using FP you request the behavior
> > of point #1.
> > 
> > So you would only have a syscall when switching between FP and non-FP
> > threads.
> > 
> > Is this possible?
> 
> In the future it may be possible, if we keep track of FP-usage on a
> thread basis instead of a process basis.  This requires kernel threads.

No, as I stated above, I don't think this requires kernel threads.

-- 
-Alfred Perlstein [alfred@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.'
Tax deductable donations for FreeBSD: http://www.freebsdfoundation.org/

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?20020107185929.H18706>