Re: Why Semaphore Hardware-Dependent?

Christoph Lameter
2006-08-28T05:21:28Z

On Sun, 27 Aug 2006, Chris Wedgwood wrote:

> On Mon, Aug 28, 2006 at 10:18:35AM +1000, Paul Mackerras wrote:
>
> > I believe the reason for not doing something like this on x86 was
> > the fact that we still support i386 processors, which don't have the
> > cmpxchg instruction. That's fair enough, but I would be opposed to
> > making semaphores bigger and slower on PowerPC because of that.
> > Hence the two different styles of implementation.
>
> The i386 is older than some of the kernel hackers, and given that a
> modern kernel is pretty painful with less than say 16MB or RAM in
> practice, I don't see that it would be all that terrible to drop
> support for ancient CPUs at some point (yes, I know some newer
> embedded (and similar) CPUs might be affected here too, but surely not
> that many that people really use --- and they could just use 2.4.x).

Also note that i386 has a cmpxchg emulation for those machines that do not
support cmpxchg.