Date: Wed, 18 Dec 2002 12:23:38 -0500 (EST) From: John Baldwin <jhb@FreeBSD.org> To: Terry Lambert <tlambert2@mindspring.com> Cc: Alex <akruijff@dds.nl>, phk@FreeBSD.ORG, Johnson David <DavidJohnson@Siemens.com>, current@FreeBSD.ORG Subject: Re: 80386 out of GENERIC Message-ID: <XFMail.20021218122338.jhb@FreeBSD.org> In-Reply-To: <3DFFE7FB.2317DFCF@mindspring.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 18-Dec-2002 Terry Lambert wrote:
> John Baldwin wrote:
>> This has nothing to do with /dev/random. Please stop with the constant
>> FUDing Terry.
>
>| Revision 1.296 / (download) - annotate - [select for diffs], Sun Jan 14
>| 10:11:10 2001 UTC (23 months ago) by jhb
>| Branch: MAIN
>| Changes since 1.295: +2 -2 lines
>| Diff to previous 1.295 (colored)
>|
>| Remove I386_CPU from GENERIC. Support for the 386 seriously pessimizes
>| performance on other x86 processors. Custom kernels can still be built
>| that will run on the 386.
>
> The pessimization that was being discussed right before that happened
> was "harvesting entropy for /dev/random". I can provide mailing list
> quotes about that bracketing those dates.
No, the pessimization is:
#if defined(I386_CPU) || defined(CPU_DISABLE_CMPXCHG)
static __inline int
atomic_cmpset_int(volatile u_int *dst, u_int exp, u_int src)
{
int res = exp;
__asm __volatile(
" pushfl ; "
" cli ; "
" cmpl %0,%2 ; "
" jne 1f ; "
" movl %1,%2 ; "
"1: "
" sete %%al; "
" movzbl %%al,%0 ; "
" popfl ; "
"# atomic_cmpset_int"
: "+a" (res) /* 0 (result) */
: "r" (src), /* 1 */
"m" (*(dst)) /* 2 */
: "memory");
return (res);
}
#else /* defined(I386_CPU) */
static __inline int
atomic_cmpset_int(volatile u_int *dst, u_int exp, u_int src)
{
int res = exp;
__asm __volatile (
" " __XSTRING(MPLOCKED) " "
" cmpxchgl %1,%2 ; "
" setz %%al ; "
" movzbl %%al,%0 ; "
"1: "
"# atomic_cmpset_int"
: "+a" (res) /* 0 (result) */
: "r" (src), /* 1 */
"m" (*(dst)) /* 2 */
: "memory");
return (res);
}
#endif /* defined(I386_CPU) */
> Was there a particular pessimization other than /dev/random that you
> were thinking of when you made the commit comment?
Yes, the one above. It came in as part of SMPng.
--
John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20021218122338.jhb>
