Module Name: src Committed By: joerg Date: Fri Mar 18 15:18:16 UTC 2011
Modified Files: src/sys/arch/amd64/amd64: spl.S vector.S src/sys/arch/i386/i386: locore.S spl.S vector.S Log Message: Remove static branch prediction hints. They pessimize code for all CPUs but Pentium IV. Discussed with ad@ and dsl@ To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 src/sys/arch/amd64/amd64/spl.S cvs rdiff -u -r1.36 -r1.37 src/sys/arch/amd64/amd64/vector.S cvs rdiff -u -r1.94 -r1.95 src/sys/arch/i386/i386/locore.S cvs rdiff -u -r1.35 -r1.36 src/sys/arch/i386/i386/spl.S cvs rdiff -u -r1.56 -r1.57 src/sys/arch/i386/i386/vector.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/amd64/amd64/spl.S diff -u src/sys/arch/amd64/amd64/spl.S:1.23 src/sys/arch/amd64/amd64/spl.S:1.24 --- src/sys/arch/amd64/amd64/spl.S:1.23 Fri Nov 27 03:23:04 2009 +++ src/sys/arch/amd64/amd64/spl.S Fri Mar 18 15:18:16 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: spl.S,v 1.23 2009/11/27 03:23:04 rmind Exp $ */ +/* $NetBSD: spl.S,v 1.24 2011/03/18 15:18:16 joerg Exp $ */ /* * Copyright (c) 2003 Wasabi Systems, Inc. @@ -229,7 +229,7 @@ movl CPUVAR(ILEVEL),%edx movq %rbx,%r8 cmpl %edx,%edi /* new level is lower? */ - jae,pn 1f + jae 1f 0: movl CPUVAR(IPENDING),%eax movl %edi,%ecx @@ -239,9 +239,9 @@ * On the P4 this jump is cheaper than patching in junk * using cmov. Is cmpxchg expensive if it fails? */ - jnz,pn 2f + jnz 2f cmpxchg8b CPUVAR(ISTATE) /* swap in new ilevel */ - jnz,pn 0b + jnz 0b 1: movq %r8,%rbx ret Index: src/sys/arch/amd64/amd64/vector.S diff -u src/sys/arch/amd64/amd64/vector.S:1.36 src/sys/arch/amd64/amd64/vector.S:1.37 --- src/sys/arch/amd64/amd64/vector.S:1.36 Wed Jan 12 23:12:11 2011 +++ src/sys/arch/amd64/amd64/vector.S Fri Mar 18 15:18:16 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: vector.S,v 1.36 2011/01/12 23:12:11 joerg Exp $ */ +/* $NetBSD: vector.S,v 1.37 2011/03/18 15:18:16 joerg Exp $ */ /*- * Copyright (c) 1998, 2007, 2008 The NetBSD Foundation, Inc. @@ -579,7 +579,7 @@ movq _C_LABEL(pmap_mbox)+MB_GLOBAL, %rdi movl $0, _C_LABEL(local_apic)+LAPIC_EOI cmpq $-1, %rax - je,pn 3f + je 3f 1: /* Invalidate a single page or a range of pages. */ invlpg (%rax) Index: src/sys/arch/i386/i386/locore.S diff -u src/sys/arch/i386/i386/locore.S:1.94 src/sys/arch/i386/i386/locore.S:1.95 --- src/sys/arch/i386/i386/locore.S:1.94 Mon Dec 20 00:25:35 2010 +++ src/sys/arch/i386/i386/locore.S Fri Mar 18 15:18:16 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.S,v 1.94 2010/12/20 00:25:35 matt Exp $ */ +/* $NetBSD: locore.S,v 1.95 2011/03/18 15:18:16 joerg Exp $ */ /* * Copyright-o-rama! @@ -129,7 +129,7 @@ */ #include <machine/asm.h> -__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.94 2010/12/20 00:25:35 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.95 2011/03/18 15:18:16 joerg Exp $"); #include "opt_compat_oldboot.h" #include "opt_ddb.h" @@ -1023,7 +1023,7 @@ /* Switch I/O bitmap */ movl PCB_IOMAP(%ebx),%eax orl %eax,%eax - jnz,pn .Lcopy_iobitmap + jnz .Lcopy_iobitmap movl $(IOMAP_INVALOFF << 16),CPUVAR(IOBASE) .Liobitmap_done: Index: src/sys/arch/i386/i386/spl.S diff -u src/sys/arch/i386/i386/spl.S:1.35 src/sys/arch/i386/i386/spl.S:1.36 --- src/sys/arch/i386/i386/spl.S:1.35 Fri Nov 27 03:23:10 2009 +++ src/sys/arch/i386/i386/spl.S Fri Mar 18 15:18:16 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: spl.S,v 1.35 2009/11/27 03:23:10 rmind Exp $ */ +/* $NetBSD: spl.S,v 1.36 2011/03/18 15:18:16 joerg Exp $ */ /* * Copyright (c) 1998, 2007, 2008 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <machine/asm.h> -__KERNEL_RCSID(0, "$NetBSD: spl.S,v 1.35 2009/11/27 03:23:10 rmind Exp $"); +__KERNEL_RCSID(0, "$NetBSD: spl.S,v 1.36 2011/03/18 15:18:16 joerg Exp $"); #include "opt_vm86.h" #include "opt_ddb.h" @@ -123,14 +123,14 @@ movl CPUVAR(ILEVEL),%edx cmpl %edx,%ecx /* new level is lower? */ pushl %ebx - jae,pn 1f + jae 1f 0: movl CPUVAR(IPENDING),%eax testl %eax,CPUVAR(IUNMASK)(,%ecx,4) /* deferred interrupts? */ movl %eax,%ebx - jnz,pn 2f + jnz 2f cmpxchg8b CPUVAR(ISTATE) /* swap in new ilevel */ - jnz,pn 0b + jnz 0b 1: popl %ebx ret Index: src/sys/arch/i386/i386/vector.S diff -u src/sys/arch/i386/i386/vector.S:1.56 src/sys/arch/i386/i386/vector.S:1.57 --- src/sys/arch/i386/i386/vector.S:1.56 Wed Jan 12 23:12:12 2011 +++ src/sys/arch/i386/i386/vector.S Fri Mar 18 15:18:16 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: vector.S,v 1.56 2011/01/12 23:12:12 joerg Exp $ */ +/* $NetBSD: vector.S,v 1.57 2011/03/18 15:18:16 joerg Exp $ */ /* * Copyright 2002 (c) Wasabi Systems, Inc. @@ -65,7 +65,7 @@ */ #include <machine/asm.h> -__KERNEL_RCSID(0, "$NetBSD: vector.S,v 1.56 2011/01/12 23:12:12 joerg Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vector.S,v 1.57 2011/03/18 15:18:16 joerg Exp $"); #include "opt_ddb.h" #include "opt_multiprocessor.h" @@ -280,7 +280,7 @@ movl %ss:_C_LABEL(pmap_mbox)+MB_GLOBAL, %ebx movl $0, %ss:_C_LABEL(local_apic)+LAPIC_EOI cmpl $-1, %eax - je,pn 3f + je 3f 1: /* Invalidate a single page or a range of pages. */ invlpg %ss:(%eax)