All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vitaly Kuznetsov <vkuznets@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>, kvm@vger.kernel.org
Cc: Sean Christopherson <seanjc@google.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Jim Mattson <jmattson@google.com>,
	Eduardo Habkost <ehabkost@redhat.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH RFC] KVM: x86: Drop arbitraty KVM_SOFT_MAX_VCPUS
Date: Thu, 11 Nov 2021 15:38:17 +0100	[thread overview]
Message-ID: <87ee7mg3l2.fsf@redhat.com> (raw)
In-Reply-To: <5cdb6982-d4ec-118e-2534-9498196d11b8@redhat.com>

Paolo Bonzini <pbonzini@redhat.com> writes:

> On 11/11/21 14:47, Vitaly Kuznetsov wrote:
>> KVM_CAP_NR_VCPUS is used to get the "recommended" maximum number of
>> VCPUs and arm64/mips/riscv report num_online_cpus(). Powerpc reports
>> either num_online_cpus() or num_present_cpus(), s390 has multiple
>> constants depending on hardware features. On x86, KVM reports an
>> arbitrary value of '710' which is supposed to be the maximum tested
>> value but it's possible to test all KVM_MAX_VCPUS even when there are
>> less physical CPUs available.
>> 
>> Drop the arbitrary '710' value and return num_online_cpus() on x86 as
>> well. The recommendation will match other architectures and will mean
>> 'no CPU overcommit'.
>> 
>> For reference, QEMU only queries KVM_CAP_NR_VCPUS to print a warning
>> when the requested vCPU number exceeds it. The static limit of '710'
>> is quite weird as smaller systems with just a few physical CPUs should
>> certainly "recommend" less.
>> 
>> Suggested-by: Eduardo Habkost <ehabkost@redhat.com>
>> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
>
> Yes, this is a good idea.  We cannot move it entirely to common code due 
> to POWER's handling of secondary threads in hypervisors; still, this is 
> as close as we can get to a common idea of what KVM_CAP_NR_VCPUS means.
>

S390's idea is also different and while I don't understand at all
all these hardware features, KVM_CAP_NR_VCPUS == KVM_CAP_MAX_VCPUS
(afaict). This was the first reason to keep KVM_CAP_NR_VCPUS handling in
arch specific code.

-- 
Vitaly


      parent reply	other threads:[~2021-11-11 14:38 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-11 13:47 [PATCH RFC] KVM: x86: Drop arbitraty KVM_SOFT_MAX_VCPUS Vitaly Kuznetsov
2021-11-11 14:24 ` Paolo Bonzini
2021-11-11 14:36   ` Sean Christopherson
2021-11-11 14:44     ` Vitaly Kuznetsov
2021-11-11 14:38   ` Vitaly Kuznetsov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ee7mg3l2.fsf@redhat.com \
    --to=vkuznets@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=jmattson@google.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=seanjc@google.com \
    --cc=wanpengli@tencent.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.