linux_dsm_epyc7002/arch/arm64/kvm
Marc Zyngier 623eefa8d0 arm64: KVM: Switch the sys_reg search to be a binary search
Our 64bit sys_reg table is about 90 entries long (so far, and the
PMU support is likely to increase this). This means that on average,
it takes 45 comparaisons to find the right entry (and actually the
full 90 if we have to search the invariant table).

Not the most efficient thing. Specially when you think that this
table is already sorted. Switching to a binary search effectively
reduces the search to about 7 comparaisons. Slightly better!

As an added bonus, the comparison is done by comparing all the
fields at once, instead of one at a time.

Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2016-02-29 18:34:22 +00:00
..
hyp arm64: KVM: Add access handler for PMUSERENR register 2016-02-29 18:34:21 +00:00
debug.c KVM: arm64: add trace points for guest_debug debug 2015-07-21 12:50:43 +01:00
emulate.c arm64: kvm: move to ESR_ELx macros 2015-01-15 12:24:25 +00:00
guest.c arm64: KVM: Add a new vcpu device control group for PMUv3 2016-02-29 18:34:21 +00:00
handle_exit.c arm64: KVM: Turn system register numbers to an enum 2015-12-14 11:30:43 +00:00
hyp-init.S arm64: KVM: Switch to C-based stage2 init 2016-02-29 18:34:15 +00:00
hyp.S arm64: KVM: VHE: Patch out use of HVC 2016-02-29 18:34:16 +00:00
inject_fault.c arm64: KVM: Fix AArch64 guest userspace exception injection 2016-01-24 21:55:57 +00:00
Kconfig arm64: KVM: Define PMU data structure for each vcpu 2016-02-29 18:34:19 +00:00
Makefile arm64: KVM: Add access handler for event counter register 2016-02-29 18:34:20 +00:00
regmap.c arm64: KVM: 32bit GP register access 2013-06-12 16:42:14 +01:00
reset.c arm64: KVM: Introduce per-vcpu kvm device controls 2016-02-29 18:34:21 +00:00
sys_regs_generic_v8.c arm64: KVM: Correctly handle zero register in system register accesses 2015-12-04 16:29:54 +00:00
sys_regs.c arm64: KVM: Switch the sys_reg search to be a binary search 2016-02-29 18:34:22 +00:00
sys_regs.h arm64: KVM: Correctly handle zero register in system register accesses 2015-12-04 16:29:54 +00:00
trace.h KVM: arm64: add trace points for guest_debug debug 2015-07-21 12:50:43 +01:00