On 15/09/2015 12:30, Wanpeng Li wrote: > + if (!nested) { > + vpid = find_first_zero_bit(vmx_vpid_bitmap, VMX_NR_VPIDS); > + if (vpid < VMX_NR_VPIDS) { > vmx->vpid = vpid; > __set_bit(vpid, vmx_vpid_bitmap); > + } > + } else { > + vpid = find_first_zero_bit(vmx_vpid_bitmap, VMX_NR_VPIDS); > + if (vpid < VMX_NR_VPIDS) { > + vmx->nested.vpid02 = vpid; > + __set_bit(vpid, vmx_vpid_bitmap); > + } Messy indentation, and a lot of duplicate code. Can you instead have (which I think was Jan's suggestion too): static int allocate_vpid(void); static void free_vpid(int vpid); That said, I like the simple solution to the "too many VPIDs for each L1 VCPU" processor. Paolo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html