Re: Is 386 processor still supported?

From: Jan-Benedict Glaw
Date: Thu Jan 15 2009 - 09:21:00 EST


On Thu, 2009-01-15 14:15:56 +0000, Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> wrote:
> 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.

I just searched for the old patch, but couldn't find it ad hoc. (But
it must be somewhere, at least in the archives, I guess?)

The kernel emulator has the benefit of no overhead when not switched
on, and low-to-no overhead when not being used (i386 capable kernel on
i486 hardware).

Heck, I'd dig out my two test systems and give them a try with current
Debian unstable. Should be fun with four to eight megabytes of RAM.

MfG, JBG

--
Jan-Benedict Glaw jbglaw@xxxxxxxxxx +49-172-7608481
Signature of: 23:53 <@jbglaw> So, ich kletter' jetzt mal ins Bett.
the second : 23:57 <@jever2> .oO( kletter ..., hat er noch Gitter vorm Bett, wie frÃher meine Kinder?)
00:00 <@jbglaw> jever2: *patsch*
00:01 <@jever2> *aua*, wofÃr, Gedanken sind frei!
00:02 <@jbglaw> Nee, freie Gedanken, die sind seit 1984 doch aus!
00:03 <@jever2> 1984? ich bin erst seit 1985 verheiratet!

Attachment: signature.asc
Description: Digital signature