Date: Sat, 16 Nov 2002 11:01:38 +0000 From: Doug Rabson <dfr@nlsystems.com> To: Marcel Moolenaar <marcel@xcllnt.net> Cc: ia64@FreeBSD.ORG Subject: Re: setjmp/longjmp and libc_r [was: Re: cvs commit: src/lib/libc/ia64/gen _setjmp.S] Message-ID: <200211161101.38075.dfr@nlsystems.com> In-Reply-To: <20021115130540.A34636@kayak.xcllnt.net> References: <200211140640.gAE6eNq9016231@repoman.freebsd.org> <200211151955.19145.dfr@nlsystems.com> <20021115130540.A34636@kayak.xcllnt.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 15 November 2002 9:05 pm, Marcel Moolenaar wrote: > On Fri, Nov 15, 2002 at 07:55:19PM +0000, Doug Rabson wrote: > > This also allows the possibility of saving/restoring the high > > floating point state in user-mode instead of kernel mode which > > might be a good thing in some situations. > > I have to think about this angle. I've been thinking about the high > FPs in the context of SMP. The goal being to avoid saving the high FP > in cpu_switch altogether and deal with processes moving to a > different CPU in a lazy way. The same principle as avoiding the > flushrs in setjmp... I thought that we already did this - we defer switching the FP state=20 until the thread takes a VEC_DISABLED_FP trap.=20 > > > > Thus: I want people to sign-up for a libc_r that uses *context > > > before 5.0-RELEASE, but preferrably tomorrow. A well-intended > > > timeline would be very nice... > > > > I want to see a libc_r which uses *context too. Its trivial to > > write thread switching this way and they are designed for it (i.e. > > no more MD grovelling around in the jmp_buf to setup the stack > > etc). I've been using makecontext/switchcontext in my own code and > > it works very well. Changing libc_r to switch this way should be > > easy if Dan hasn't already done it. > > Ok. I guess this is the best I can get. I'll work on it this weekend. > I'll restore the previous behaviour of setjmp/longjmp while I'm at > it. Thanks. Sorry if I've come over a bit dogmatic on the subject but I do=20 think that using longjmp to switch stacks is dubious on any=20 architecture and specially for ia64. At least switchcontext is designed=20 for the job :-). --=20 Doug Rabson=09=09=09=09Mail: dfr@nlsystems.com =09=09=09=09=09Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200211161101.38075.dfr>