Message ID | 20200201185218.24473-11-sean.j.christopherson@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: x86: Introduce KVM cpu caps | expand |
Sean Christopherson <sean.j.christopherson@intel.com> writes: > Refactor the sub-leaf loop for CPUID 0x7 to move the main leaf out of > said loop. The emitted code savings is basically a mirage, as the > handling of the main leaf can easily be split to its own helper to avoid > code bloat. > > No functional change intended. > > Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> > --- > arch/x86/kvm/cpuid.c | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c > index 6e1685a16cca..b626893a11d5 100644 > --- a/arch/x86/kvm/cpuid.c > +++ b/arch/x86/kvm/cpuid.c > @@ -573,16 +573,16 @@ static inline int __do_cpuid_func(struct kvm_cpuid_entry2 *entry, u32 function, > case 7: { > int i; > > - for (i = 0; ; ) { > + do_cpuid_7_mask(entry, 0); > + > + for (i = 1; i <= entry->eax; i++) { > + if (*nent >= maxnent) > + goto out; > + > + do_host_cpuid(&entry[i], function, i); > + ++*nent; > + > do_cpuid_7_mask(&entry[i], i); > - if (i == entry->eax) > - break; > - if (*nent >= maxnent) > - goto out; > - > - ++i; > - do_host_cpuid(&entry[i], function, i); > - ++*nent; > } > break; > } Reviewed-by: Vitaly Kuznetsov <vkuznets@redhat.com>
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c index 6e1685a16cca..b626893a11d5 100644 --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c @@ -573,16 +573,16 @@ static inline int __do_cpuid_func(struct kvm_cpuid_entry2 *entry, u32 function, case 7: { int i; - for (i = 0; ; ) { + do_cpuid_7_mask(entry, 0); + + for (i = 1; i <= entry->eax; i++) { + if (*nent >= maxnent) + goto out; + + do_host_cpuid(&entry[i], function, i); + ++*nent; + do_cpuid_7_mask(&entry[i], i); - if (i == entry->eax) - break; - if (*nent >= maxnent) - goto out; - - ++i; - do_host_cpuid(&entry[i], function, i); - ++*nent; } break; }
Refactor the sub-leaf loop for CPUID 0x7 to move the main leaf out of said loop. The emitted code savings is basically a mirage, as the handling of the main leaf can easily be split to its own helper to avoid code bloat. No functional change intended. Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> --- arch/x86/kvm/cpuid.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)