Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Feb 2002 15:49:52 -0800 (PST)
From:      Peter Wemm <peter@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/conf options.i386 options.pc98 src/sys/i386/i386 locore.s mp_machdep.c mpapic.c pmap.c support.s src/sys/i386/include cpufunc.h pmap.h smp.h smptests.h src/sys/i386/isa apic_vector.s intr_machdep.c intr_machdep.h ...
Message-ID:  <200202252349.g1PNnqF83519@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
peter       2002/02/25 15:49:52 PST

  Modified files:
    sys/conf             options.i386 options.pc98 
    sys/i386/i386        locore.s mp_machdep.c mpapic.c pmap.c 
                         support.s 
    sys/i386/include     cpufunc.h pmap.h smp.h smptests.h 
    sys/i386/isa         apic_vector.s intr_machdep.c 
                         intr_machdep.h 
    sys/kern             subr_witness.c 
  Log:
  Work-in-progress commit syncing up pmap cleanups that I have been working
  on for a while:
  - fine grained TLB shootdown for SMP on i386
  - ranged TLB shootdowns.. eg: specify a range of pages to shoot down with
    a single IPI, since the IPI is very expensive.  Adjust some callers
    that used to trigger this inside tight loops to do a ranged shootdown
    at the end instead.
  - PG_G support for SMP on i386 (options ENABLE_PG_G)
  - defer PG_G activation till after we decide what we are going to do with
    PSE and the 4MB pages at the start of the kernel.  This should solve
    some rumored strangeness about stale PG_G entries getting stuck
    underneath the 4MB pages.
  - add some instrumentation for the fine TLB shootdown
  - convert some asm instruction wrappers from functions to inlines.  gcc
    seems to do a fair bit better with this.
  - [temporarily!] pessimize the tlb shootdown IPI handlers.  I will fix
    this again shortly.
  
  This has been working fairly well for me for a while, but I have tweaked
  it again prior to commit since my last major testing round.  The only
  outstanding problem that I know of is PG_G related, which is why there
  is an option for it (not on by default for SMP).  I have seen a world
  speedups by a few percent (as much as 4 or 5% in one case) but I have
  *not* accurately measured this - I am a bit sceptical of these numbers.
  
  Revision  Changes    Path
  1.168     +1 -0      src/sys/conf/options.i386
  1.142     +1 -0      src/sys/conf/options.pc98
  1.155     +2 -21     src/sys/i386/i386/locore.s
  1.175     +193 -18   src/sys/i386/i386/mp_machdep.c
  1.53      +0 -3      src/sys/i386/i386/mpapic.c
  1.308     +174 -198  src/sys/i386/i386/pmap.c
  1.87      +0 -36     src/sys/i386/i386/support.s
  1.109     +169 -75   src/sys/i386/include/cpufunc.h
  1.75      +0 -2      src/sys/i386/include/pmap.h
  1.67      +2 -1      src/sys/i386/include/smp.h
  1.41      +1 -8      src/sys/i386/include/smptests.h
  1.76      +83 -11    src/sys/i386/isa/apic_vector.s
  1.66      +0 -8      src/sys/i386/isa/intr_machdep.c
  1.34      +13 -7     src/sys/i386/isa/intr_machdep.h
  1.99      +3 -0      src/sys/kern/subr_witness.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202252349.g1PNnqF83519>