[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.1.10.0901151353530.5737@ftp.linux-mips.org>
Date: Thu, 15 Jan 2009 14:15:56 +0000 (GMT)
From: "Maciej W. Rozycki" <macro@...ux-mips.org>
To: Alan Cox <alan@...rguk.ukuu.org.uk>
cc: Jan-Benedict Glaw <jbglaw@...-owl.de>, Ingo Molnar <mingo@...e.hu>,
Peter Zijlstra <peterz@...radead.org>,
Jiri Kosina <jkosina@...e.cz>, Adam Osuchowski <adwol@...k.pl>,
linux-kernel@...r.kernel.org, Nick Piggin <npiggin@...e.de>,
Thomas Gleixner <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>
Subject: Re: Is 386 processor still supported?
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists