Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Aug 2003 14:25:47 -0700
From:      Marcel Moolenaar <marcel@xcllnt.net>
To:        deischen@freebsd.org
Cc:        threads@freebsd.org
Subject:   Re: KSE/ia64: a quick update
Message-ID:  <20030806212547.GC1179@athlon.pn.xcllnt.net>
In-Reply-To: <Pine.GSO.4.10.10308061704520.18664-100000@pcnet5.pcnet.com>
References:  <20030806205308.GA1179@athlon.pn.xcllnt.net> <Pine.GSO.4.10.10308061704520.18664-100000@pcnet5.pcnet.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Aug 06, 2003 at 05:12:40PM -0400, Daniel Eischen wrote:
> 
> The thing to realize I guess is that once you trap,
> you won't do it again until the FPU has been taken
> away again.  So you may only trap the first time,
> and a few other times following that you may not.
> You can have to weigh that against always using a
> system call to restore the context.  I'm not sure
> what the difference would be.

I haven't done any performance measurements. What I do know is
that lazy switching of the high FP is a definite win, because
they are hardly ever used. Once the ia64 port reaches some
level of maturity I intend to use 1:1 threading to simulate
multiple processes using the high FP registers and analyze how
it behaves (including correctness). Based on that I probably
want to make changes. 

> > I think I'll go with the following (for async contexts):
> > 
> > o  Use ifa and isr in the context to pass the pointer to the
> >    mailbox and the value we want to write to it. Both are
> >    only used by the kernel to pass information about the
> >    fault or interrupt to the kernel, so they are unused
> >    fields in contexts.
> > o  Set a flag in the context to indicate that we want the
> >    mailbox set (if applicable).
> > o  Use the break-based syscall path to call setcontext(2).
> > o  Have the kernel switch the context and set the mailbox.
> > 
> > It's a bit of a hack, but I think other solutions are much
> > more painful. Both implementation-wise and kludge-wise.
> 
> If there's anything more we can do, let us know.

With the MD bits in libkse revamped I don't have much to wish
for. It would have taken us (me) a lot more work and time if
we (I) had to do that at some later time. It looks like the
async contexts are the only thing left and there's no revamp
of KSE that can make that go away, so I guess I just have to
solve it :-)

I'll let you know when ACE fails to panic the kernel...

-- 
 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?20030806212547.GC1179>