Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Mar 2002 21:20:29 -0800 (PST)
From:      Jake Burkholder <jake@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/sparc64/include pcpu.h pmap.h tlb.h src/sys/sparc64/sparc64 genassym.c machdep.c pmap.c swtch.s
Message-ID:  <200203040520.g245KTf54532@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
jake        2002/03/03 21:20:29 PST

  Modified files:
    sys/sparc64/include  pcpu.h pmap.h tlb.h 
    sys/sparc64/sparc64  genassym.c machdep.c pmap.c swtch.s 
  Log:
  Allocate tlb contexts on the fly in cpu_switch, instead of statically 1 to 1
  with pmaps.  When the context numbers wrap around we flush all user mappings
  from the tlb.  This makes use of the array indexed by cpuid to allow a pmap
  to have a different context number on a different cpu.  If the context numbers
  are then divided evenly among cpus such that none are shared, we can avoid
  sending tlb shootdown ipis in an smp system for non-shared pmaps.  This also
  removes a limit of 8192 processes (pmaps) that could be active at any given
  time due to running out of tlb contexts.
  
  Inspired by:            the brown book
  Crucial bugfix from:    tmm
  
  Revision  Changes    Path
  1.14      +3 -0      src/sys/sparc64/include/pcpu.h
  1.15      +1 -0      src/sys/sparc64/include/pmap.h
  1.11      +13 -16    src/sys/sparc64/include/tlb.h
  1.25      +7 -0      src/sys/sparc64/sparc64/genassym.c
  1.39      +4 -0      src/sys/sparc64/sparc64/machdep.c
  1.37      +53 -52    src/sys/sparc64/sparc64/pmap.c
  1.17      +108 -34   src/sys/sparc64/sparc64/swtch.s

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?200203040520.g245KTf54532>