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
