git: kernel - Refactor Xinvltlb (3)
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Jul 16 23:30:21 PDT 2016
commit ccd67bf614ec9cd72ba3afc5d73e88ba8be3bc70
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sat Jul 16 19:16:02 2016 -0700
kernel - Refactor Xinvltlb (3)
* Rollup invalidation operations for numerous kernel-related pmap, reducing
the number of IPIs needed (particularly for buffer cache operations).
* Implement semi-synchronous command execution, where target cpus do not
need to wait for the originating cpu to execute a command. This is used
for the above rollups when the related kernel memory is known to be accessed
concurrently with the pmap operations.
* Support invalidation of VA ranges.
* Support reduction of target cpu set for semi-synchronous commands, including
invltlb's, by removing idle cpus from the set when possible.
Summary of changes:
sys/cpu/x86_64/include/cpufunc.h | 26 +--
sys/kern/sys_vmm.c | 6 +-
sys/kern/vfs_bio.c | 6 +-
sys/platform/pc64/include/pmap.h | 2 -
sys/platform/pc64/include/pmap_inval.h | 18 +-
sys/platform/pc64/x86_64/mp_machdep.c | 112 +++++--------
sys/platform/pc64/x86_64/pmap.c | 177 ++++++++++++--------
sys/platform/pc64/x86_64/pmap_inval.c | 240 ++++++++++++++++++++++-----
sys/platform/vkernel64/platform/pmap.c | 26 ++-
sys/platform/vkernel64/platform/pmap_inval.c | 17 +-
sys/vm/pmap.h | 4 +
sys/vm/vm_contig.c | 7 +-
12 files changed, 427 insertions(+), 214 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ccd67bf614ec9cd72ba3afc5d73e88ba8be3bc70
--
DragonFly BSD source repository
More information about the Commits
mailing list