Date: Thu, 24 Jul 2003 12:19:43 -0700 From: Marcel Moolenaar <marcel@xcllnt.net> To: John Baldwin <jhb@FreeBSD.org> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/lib/libthr/arch/alpha/alpha _curthread.c Message-ID: <20030724191943.GA1028@dhcp01.pn.xcllnt.net> In-Reply-To: <XFMail.20030724150832.jhb@FreeBSD.org> References: <200307240751.h6O7pnsd085577@repoman.freebsd.org> <XFMail.20030724150832.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jul 24, 2003 at 03:08:32PM -0400, John Baldwin wrote: > > On 24-Jul-2003 Marcel Moolenaar wrote: > > marcel 2003/07/24 00:51:49 PDT > > > > FreeBSD src repository > > > > Modified files: > > lib/libthr/arch/alpha/alpha _curthread.c > > Log: > > Implement _get_curthread and _set_curthread. We use GCCs builtin > > function this, which expands to PAL calls (rduniq and wruniq). > > This needs adjustment when TLS is implemented. > > This trashes SMP since we use the per-CPU unique value already > to maintain the per-cpu data pointer. Writing to the per-CPU unique value is an unprivileged operation. You cannot possibly use that for in-kernel use without saving and restoring it on kernel exit/entry. Which is what needs to be done. -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030724191943.GA1028>