I'm not an expert in the VM system so I'm looking for input on if this 
potential change is a good idea or not.  The idea is to use segkpm (the mapping 
of all of physical memory) to reference single-page slabs, rather than setting 
up and tearing down new TLB mappings in the kernel's heap.

This roughly doubles the performance of kmem_reap() of impacted caches.  We 
only do this for ZFS's caches, because they are not dumped.  More work would be 
required to dump these pages, and to allow mdb to access them via segkpm.

I noticed that seg_map has code to do something similar, but it's disabled on 
x86 (segmap_kpm=0).  So I was wondering if there's something wrong with this 
approach?  Unfortunately there weren't any comments explaining *why* it's 
disabled on x86.


You can view, comment on, or merge this pull request online at:

  https://github.com/openzfs/openzfs/pull/410

-- Commit Summary --

  * Use segkpm for single-page slabs

-- File Changes --

    M usr/src/uts/common/sys/vmem.h (11)
    M usr/src/uts/common/vm/seg_kmem.c (31)
    M usr/src/uts/i86pc/os/startup.c (4)

-- Patch Links --

https://github.com/openzfs/openzfs/pull/410.patch
https://github.com/openzfs/openzfs/pull/410.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/410

------------------------------------------
openzfs-developer
Archives: 
https://openzfs.topicbox.com/groups/developer/discussions/T5530aa766ee8412c-Mc4c3739765814a3e08ee1c8a
Powered by Topicbox: https://topicbox.com

Reply via email to