Review request for 5498 kmem_reap does one xcall per page: https://reviews.csiden.org/r/150/
The fix is to make the crosscall take an additional parameter which (essentially) the number of contiguous pages to unmap. We use this to do one crosscall per slab, rather than one per page. The xcall now tears down all the pages used to back the slab (the pages are virtually contiguous). The performance benefit is most noticeable when reaping larger caches (e.g. 128KB) on machines with many CPUs (e.g. 32). I would also like to ask for help testing on __xpv (fully paravirtualized Xen), as I don't have a setup for this. Build artifacts are available at: http://mahrens.org/xcall/packages.tgz http://mahrens.org/xcall/proto.tgz --matt
_______________________________________________ developer mailing list [email protected] http://lists.open-zfs.org/mailman/listinfo/developer
