diff options
author | 2023-01-13 20:29:10 +0800 | |
---|---|---|
committer | 2023-03-16 19:07:37 -0700 | |
commit | 141705b78381ab1dcb52c84ebb396e434e86b624 (patch) | |
tree | 14efa91e9e6e25bee23736dd22aaed8ad2b783da /tools/perf/scripts/python/export-to-postgresql.py | |
parent | KVM: x86/mmu: Skip calling mmu->sync_spte() when the spte is 0 (diff) | |
download | wireguard-linux-141705b78381ab1dcb52c84ebb396e434e86b624.tar.xz wireguard-linux-141705b78381ab1dcb52c84ebb396e434e86b624.zip |
KVM: x86/mmu: Track tail count in pte_list_desc to optimize guest fork()
Rework "struct pte_list_desc" and pte_list_{add|remove} to track the tail
count, i.e. number of PTEs in non-head descriptors, and to always keep all
tail descriptors full so that adding a new entry and counting the number
of entries is done in constant time instead of linear time.
No visible performace is changed in tests. But pte_list_add() is no longer
shown in the perf result for the COWed pages even the guest forks millions
of tasks.
Signed-off-by: Lai Jiangshan <jiangshan.ljs@antgroup.com>
Link: https://lore.kernel.org/r/20230113122910.672417-1-jiangshanlai@gmail.com
[sean: reword shortlog, tweak changelog, add lots of comments, add BUG_ON()]
Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions