Re: Is 386 processor still supported?

From: Maciej W. Rozycki
Date: Thu Jan 15 2009 - 09:16:17 EST


On Thu, 15 Jan 2009, Alan Cox wrote:

> > UP emulation of CMPXCHG and XADD for userland should be rather trivial,
> > so why not include it like with LL/SC for MIPS?
>
> Why not just ship an additional libc with the right options ?

Does not work for MIPS as glibc has no equivalent code for pre-LL/SC CPUs
and LL/SC is always used. For the i386 the situation seems worse yet as
for pre-i486 CPUs a generic C implementation of compare-and-exchange is
used guaranteeing silent thread unsafety. :(

IMO, a kernel emulation of CMPXCHG and XADD (both are used by
sysdeps/i386/i486/bits/atomic.h in glibc) with an optional LOCK prefix,
guaranteeing UP atomicity would be a cheap way to provide long-term i386
userland support with little burden for both Linux and respective user
software maintainers. Certainly it adds some bloat to the kernel, but I
think it is not an option that should be outright dismissed without
consideration.

Maciej
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/