From: Vitaly Kuznetsov <vkuznets@redhat.com>
To: David Matlack <dmatlack@google.com>, Kyle Meyer <kyle.meyer@hpe.com>
Cc: kvm list <kvm@vger.kernel.org>, X86 ML <x86@kernel.org>,
Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
Ingo Molnar <mingo@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
russ.anderson@hpe.com, payton@hpe.com,
"H. Peter Anvin" <hpa@zytor.com>,
Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
Sean Christopherson <seanjc@google.com>,
Wanpeng Li <wanpengli@tencent.com>
Subject: Re: [PATCH] KVM: x86: Increase KVM_MAX_VCPUS to 2048
Date: Tue, 14 Jun 2022 10:27:33 +0200 [thread overview]
Message-ID: <8735g7k5u2.fsf@redhat.com> (raw)
In-Reply-To: <CALzav=eWPiii4_zmYifdi_pSS6nUvMEchwQcvD+W2CfOR+-s8Q@mail.gmail.com>
David Matlack <dmatlack@google.com> writes:
> On Mon, Jun 13, 2022 at 11:35 AM Kyle Meyer <kyle.meyer@hpe.com> wrote:
>>
>> Increase KVM_MAX_VCPUS to 2048 so we can run larger virtual machines.
>
> Does the host machine have 2048 CPUs (or more) as well in your usecase?
>
> I'm wondering if it makes sense to start configuring KVM_MAX_VCPUS
> based on NR_CPUS. That way KVM can scale up on large machines without
> using more memory on small machines.
>
> e.g.
>
> /* Provide backwards compatibility. */
> #if NR_CPUS < 1024
> #define KVM_MAX_VCPUS 1024
> #else
> #define KVM_MAX_VCPUS NR_CPUS
> #endif
>
> The only downside I can see for this approach is if you are trying to
> kick the tires a new large VM on a smaller host because the new "large
> host" hardware hasn't landed yet.
FWIW, while I don't think there's anything wrong with such approach, it
won't help much distro kernels which are not recompiled to meet the
needs of a particular host. According to Kyle's numbers, the biggest
growth is observed with 'struct kvm_ioapic' and that's only because of
'struct rtc_status' embedded in it. Maybe it's possible to use something
different from a KVM_MAX_VCPU_IDS-bound flat bitmask there? I'm not sure
how important this is as it's just another 4K per-VM and when guest's
memory is taken into account it's probably not much.
The growth in 'struct kvm'/'struct kvm_arch' seems to be insignificant
and on-stack allocations are probably OK.
--
Vitaly
next prev parent reply other threads:[~2022-06-14 8:29 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-13 14:50 [PATCH] KVM: x86: Increase KVM_MAX_VCPUS to 2048 Kyle Meyer
2022-06-13 15:19 ` Vitaly Kuznetsov
2022-06-13 20:24 ` David Matlack
2022-06-14 8:27 ` Vitaly Kuznetsov [this message]
2022-06-16 16:47 ` David Matlack
2022-06-16 16:58 ` Sean Christopherson
2022-06-29 20:38 ` [PATCH v2] KVM: x86: Increase KVM_MAX_VCPUS to 4096 Kyle Meyer
2022-06-30 8:09 ` Vitaly Kuznetsov
2022-07-07 17:03 ` Sean Christopherson
-- strict thread matches above, loose matches on Subject: below --
2022-06-14 13:14 [PATCH] KVM: x86: Increase KVM_MAX_VCPUS to 2048 Meyer, Kyle
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=8735g7k5u2.fsf@redhat.com \
--to=vkuznets@redhat.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=dmatlack@google.com \
--cc=hpa@zytor.com \
--cc=jmattson@google.com \
--cc=joro@8bytes.org \
--cc=kvm@vger.kernel.org \
--cc=kyle.meyer@hpe.com \
--cc=mingo@redhat.com \
--cc=payton@hpe.com \
--cc=russ.anderson@hpe.com \
--cc=seanjc@google.com \
--cc=tglx@linutronix.de \
--cc=wanpengli@tencent.com \
--cc=x86@kernel.org \
/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.