gvisor/pkg/cpuid
Andrei Vagin 722d7ca744 platform/kvm: map vdso and vvar into a guest address space
Right now, each vdso call triggers vmexit. VDSO and VVAR pages are
mapped with VM_IO and get_user_pages fails for such vma-s. KVM was not
able to handle this case up to the v4.8 kernel. This problem was fixed by
add6a0cd1c5ba ("KVM: MMU: try to fix up page faults before giving up").

For some unknown reasons, it still doesn't work in case of nested
virtualization.

Before:
BenchmarkKernelVDSO-6                   	  252519	      4598 ns/op
After:
BenchmarkKernelVDSO-6                   	34431957	        34.91 ns/op
PiperOrigin-RevId: 405715941
2021-10-26 13:04:40 -07:00
..
BUILD [op] Replace syscall package usage with golang.org/x/sys/unix in pkg/. 2021-03-03 10:25:58 -08:00
cpu_amd64.s Change copyright notice to "The gVisor Authors" 2019-04-29 14:26:23 -07:00
cpuid.go initialize hostFeatureSet from init function 2021-10-23 15:39:57 -07:00
cpuid_arm64.go fix the failed test target //pkg/cpuid:cpuid_test on arm64. 2021-10-23 15:39:57 -07:00
cpuid_arm64_test.go Add go:build directives as required by Go 1.17's gofmt. 2021-07-20 16:28:45 -07:00
cpuid_parse_x86_test.go Add go:build directives as required by Go 1.17's gofmt. 2021-07-20 16:28:45 -07:00
cpuid_x86.go platform/kvm: map vdso and vvar into a guest address space 2021-10-26 13:04:40 -07:00
cpuid_x86_test.go Add go:build directives as required by Go 1.17's gofmt. 2021-07-20 16:28:45 -07:00