diff options
author | Grigoriy Orlov <gluk@cvs.openbsd.org> | 2001-04-22 19:20:36 +0000 |
---|---|---|
committer | Grigoriy Orlov <gluk@cvs.openbsd.org> | 2001-04-22 19:20:36 +0000 |
commit | f3d334455d3f53ac45adbc71e0fd5bc267b92a50 (patch) | |
tree | 436070ec9b2d6b626a34f5f3f49b7fff3cf19347 /sys/arch/i386/conf/Makefile.i386 | |
parent | c5f258751d5ab53d2cdc8032ba54692d7d8b5c7f (diff) |
Remove -march=i{56}86 optimization because of compiler bug. This bug
results in system lockup, which many people report for 2.8 and -current
when they doing a big network transfer. This problem affect only custom
kernels in which only one cpu type enabled (option I586_CPU or I686_CPU).
When lockup occur I can't switch between virtual wscons terminals.
System continue respond to pings and forward ip packets. It is possible
to enter into ddb. DDB show that several processes in runnable state,
but it seems that task switching not occur. More and more processes becomes
runnable. Stack of curproc looks like:
> _end(e99d8fac, e0101dcc, 4, e0635a00, e99d8f80) at 0xe99d8f78
> _end(e99d8fa0, e028a62e, e99d8fac, 0, 0) at 0xe99d8f78
> ddb>
Sometimes 'boot sync' cleanly unmount all file systems.
I reproduce this bug by transfering two big files from ftp simultaneously.
It seems that at least one process must perform a network transfer and two
or more processes must fight for the processor.
The following PRs probably a result of this problem:
1504, 1716, 1751, 1771, 1780.
deraadt@ ok.
Diffstat (limited to 'sys/arch/i386/conf/Makefile.i386')
-rw-r--r-- | sys/arch/i386/conf/Makefile.i386 | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/sys/arch/i386/conf/Makefile.i386 b/sys/arch/i386/conf/Makefile.i386 index 68b03f709df..8d56975ef01 100644 --- a/sys/arch/i386/conf/Makefile.i386 +++ b/sys/arch/i386/conf/Makefile.i386 @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile.i386,v 1.25 2000/06/20 15:33:07 art Exp $ +# $OpenBSD: Makefile.i386,v 1.26 2001/04/22 19:20:35 gluk Exp $ # $NetBSD: Makefile.i386,v 1.67 1996/05/11 16:12:11 mycroft Exp $ # Makefile for OpenBSD @@ -42,11 +42,7 @@ CPPFLAGS= ${INCLUDES} ${IDENT} -D_KERNEL -Di386 CDIAGFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \ -Wno-uninitialized -Wno-format -Wno-main -.if ${IDENT:M-D*_CPU} == ${IDENT:M-DI686_CPU} -CMACHFLAGS= -march=i686 -.elif ${IDENT:M-D*_CPU} == ${IDENT:M-DI586_CPU} -CMACHFLAGS= -march=i586 -.elif ${IDENT:M-D*_CPU} == ${IDENT:M-DI486_CPU} +.if !${IDENT:M-DI386_CPU} CMACHFLAGS= -march=i486 .else CMACHFLAGS= |