KSE: fuword/suword bugs on ia64
Marcel Moolenaar
marcel at xcllnt.net
Sat Jun 28 10:54:37 PDT 2003
On Sat, Jun 28, 2003 at 12:20:03PM -0400, Daniel Eischen wrote:
> >
> > I was thinking about using long. fuword/suword is defined in terms
> > of long, so technically it's a bug to have them operate on int. But
> > using long will yield 64-bit fields on 64-bit platforms, and it may
> > just be a waste of space. Although internal alignment and padding
> > may already take up as much space (tm_flags, km_version, km_flags
> > are examples of this).
>
> The mailboxes are not that big (with the exception of the
> thread mailbox due to ucontext), so a few extra bytes isn't
> going to hurt userland. Perhaps the copyin/copyout's in
> the kernel is what you're worried about?
Not really. It's just that I like to be able to defend the size
expansion when an alternative exists that does not increase the
size.
> > I'm divided on the issue. I prefer using long for it being the best
> > native type, but don't like the immediate consequence of it being
> > too variable for use in interface types (take for example the 64-bit
> > long on i386 that bde is playing with). With the patch I favored
> > the fixed width property on uint32_t.
>
> You can use uint32_t for now as a quick fix. Perhaps
> we should restructure the mailboxen a bit as a longer
> term fix. David just added siginfo to the thread
> mailbox, so that's another MD structure.
Sounds good. Note that on ia64 ucontext_t has 16-byte alignment.
Having the fields reordered definitely helps the overall density.
BTW: putting tm_context at the end is a good idea.
--
Marcel Moolenaar USPA: A-39004 marcel at xcllnt.net
More information about the freebsd-threads
mailing list