Messages in this thread | | | Date | Wed, 21 Jul 2021 16:23:17 +0100 | From | Will Deacon <> | Subject | Re: [PATCH v2 1/3] arch/arm64: Introduce a capability to tell whether 16-bit VMID is available |
| |
On Wed, Jun 16, 2021 at 04:56:04PM +0100, Shameer Kolothum wrote: > From: Julien Grall <julien.grall@arm.com> > > At the moment, the function kvm_get_vmid_bits() is looking up for the > sanitized value of ID_AA64MMFR1_EL1 and extract the information > regarding the number of VMID bits supported. > > This is fine as the function is mainly used during VMID roll-over. New > use in a follow-up patch will require the function to be called a every > context switch so we want the function to be more efficient. > > A new capability is introduced to tell whether 16-bit VMID is > available.
I don't really buy this rationale. The VMID allocator introduced later on caches this value in the static 'vmid_bits' variable, and that gets used on vCPU enter via vmid_gen_match() in the kvm_arm_update_vmid() fastpath.
So I would prefer that we just expose an accessor for that than introduce a static key and new cpufeature just for kvm_get_vttbr().
Will
| |