Page MenuHomeFreeBSD

TLB flush enhancement using HyperCalls in x86 Hyper-V
AbandonedPublic

Authored by schakrabarti_microsoft.com on Jun 6 2024, 6:52 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Oct 16, 3:47 PM
Unknown Object (File)
Sep 13 2025, 9:19 PM
Unknown Object (File)
Sep 5 2025, 9:29 PM
Unknown Object (File)
Aug 19 2025, 1:30 PM
Unknown Object (File)
Aug 6 2025, 9:17 PM
Unknown Object (File)
Jul 28 2025, 12:17 PM
Unknown Object (File)
Jul 24 2025, 11:12 PM
Unknown Object (File)
Jul 16 2025, 7:40 PM
Subscribers

Details

Reviewers
None
Summary

Currently FreeBSD uses IPI based TLB flushing for remote TLB flushing.
Hyper-V allows hypercalls to flush local and remote TLB. The use of
Hyper-V hypercalls gives significant performance improvement in TLB operations.
This patch set during test has shown near to 40 percent
performance improvement.

Also this patch adds rep hypercall implementation as well.

Authored-by: Souradeep Chakrabarti <schakrabarti@microsoft.com>
Co-Authored-by: Erni Sri Satya Vennela <ernis@microsoft.com>

Signed-off-by: Souradeep Chakrabarti <schakrabarti@microsoft.com>
Reviewd-by: Konstantin Belousov <kib@freebsd.org>

added changes to separate i386 and amd64

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 58091
Build 54979: arc lint + arc unit