From mboxrd@z Thu Jan 1 00:00:00 1970 From: Radim =?utf-8?B?S3LEjW3DocWZ?= Subject: Re: KVM_MAX_VCPU hard limit of 255 on x86 Date: Mon, 4 Apr 2016 22:34:08 +0200 Message-ID: <20160404203408.GB21537@potion.brq.redhat.com> References: <20160404151719.GA21537@potion.brq.redhat.com> <20160404211413.5e5b7264@igors-macbook-pro.local> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Bandan Das , Hardik H Bagdi , kvm@vger.kernel.org To: Igor Mammedov Return-path: Received: from mx1.redhat.com ([209.132.183.28]:47681 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752875AbcDDUeM (ORCPT ); Mon, 4 Apr 2016 16:34:12 -0400 Content-Disposition: inline In-Reply-To: <20160404211413.5e5b7264@igors-macbook-pro.local> Sender: kvm-owner@vger.kernel.org List-ID: 2016-04-04 21:14+0200, Igor Mammedov: > On Mon, 4 Apr 2016 17:17:19 +0200 > Radim Kr=C4=8Dm=C3=A1=C5=99 wrote: >> another blocker is >> that QEMU cannot handle more than 255 VCPUs, mainly because of its A= ML >> generator. Igor (Cc'd) knows more about the status of ACPI. > I'm going to post patches that enable more than 255 VCPUs > on ACPI side of QEMU once development window for 2.7 opens. Great, thanks! >> (And firmware doesn't implement x2APIC, and other minor problems ...= ) > Firmware probably doesn't need more than 1 VCPU, maybe we can > get rid of if it enumerating VCPUs via broadcast AP wakeup > since it no longer builds ACPI tables anymore. >=20 > It should save some boot time due to removing timeout for waiting > APs wakeup. Rudimentary x2APIC support is needed, because the OS should get control with all LAPICs in x2APIC mode when any APIC ID is over 255. We could code that in QEMU to save some time, but I am reluctant to mov= e the whole MP initialization before >255 is proven as working. :) >> All pieces should be in place within half a year, though. >> The next hard limit is ~2^20 or ~2^32. > In current version of my ACPI patches it's 2^32 limit so far. Perfect. (2^16-1)*16 would be a limit only if some major OS didn't wan= t understand that logical addressing doesn't work beyond that ... (Which shouldn't happen.)