linux-mips
[Top] [All Lists]

Re: anybody tried NPTL?

To: Jun Sun <jsun@mvista.com>
Subject: Re: anybody tried NPTL?
From: Dominic Sweetman <dom@mips.com>
Date: Fri, 20 Aug 2004 14:46:11 +0100
Cc: Dominic Sweetman <dom@mips.com>, linux-mips@linux-mips.org
In-reply-to: <20040819221646.GC8737@mvista.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20040804152936.D6269@mvista.com> <16676.46694.564448.344602@arsenal.mips.com> <20040819221646.GC8737@mvista.com>
Sender: linux-mips-bounce@linux-mips.org
Jun Sun (jsun@mvista.com) writes:

> > [large expanse of new ABI stuff omitted]
>
> What is the motivation of other changes?  Taking this chance to make
> things all right in one shot?

Yes, and I did kind of cover this in the large expanse of stuff:

> > As you said, this motivates a revision of the ABI.  Any
> > incompatible change to the ABI is painful, since everything has to
> > be recompiled; so our reasoning at the moment is that we might as
> > well be radical...

o32 puts only four arguments in registers, which is less than optimal,
and continually reloads the GOT pointer (which is not defined as a
saved register in o32).

n32 (despite its name) runs exclusively on 64-bit CPUs.

So yes, we have strong reasons for making a larger change to the ABI,
and knowing how difficult it is...

> However, from NPTL implementation point of view I really just care
> about the per-thread register.

I guess our main message was that we felt it would be a mistake just
to add a thread register to o32 (which produces a substantially
incompatible new ABI anyway).

Until that all works, what we had in mind is that we'd do NPTL over
o32 by defining a system call to return a per-thread ID which is or
can be converted into a per-thread data pointer.  We suspected that
NPTL's per-thread-data model allows the use of cunning macros or
library functions to make that look OK.

Ought we to go further and see exactly how that can be done?

--
Dominic


<Prev in Thread] Current Thread [Next in Thread>