From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52919) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VEew2-0007hh-8p for qemu-devel@nongnu.org; Wed, 28 Aug 2013 08:33:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VEevx-0000Pe-CX for qemu-devel@nongnu.org; Wed, 28 Aug 2013 08:33:18 -0400 Received: from mx1.redhat.com ([209.132.183.28]:28217) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VEevx-0000OI-49 for qemu-devel@nongnu.org; Wed, 28 Aug 2013 08:33:13 -0400 Message-ID: <521DEE07.5070401@redhat.com> Date: Wed, 28 Aug 2013 06:33:11 -0600 From: Eric Blake MIME-Version: 1.0 References: <1377264277-23614-1-git-send-email-drjones@redhat.com> <521D5298.9050504@redhat.com> <1172443315.2448865.1377675922559.JavaMail.root@redhat.com> In-Reply-To: <1172443315.2448865.1377675922559.JavaMail.root@redhat.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="fLQdkbHIqaBVAMra8JlHJe8wd3D7HWMQ2" Subject: Re: [Qemu-devel] [libvirt] [PATCH v2] kvm: warn if num cpus is greater than num recommended List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Andrew Jones Cc: ehabkost@redhat.com, kvm@vger.kernel.org, libvir-list@redhat.com, mtosatti@redhat.com, qemu-devel@nongnu.org, pbonzini@redhat.com, afaerber@suse.de This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --fLQdkbHIqaBVAMra8JlHJe8wd3D7HWMQ2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 08/28/2013 01:45 AM, Andrew Jones wrote: >> What I'm more worried about is what number is libvirt supposed to show= >> to the end user, and should libvirt enforce the lower recommended max,= >> or the larger kernel absolute max? Which of the two values does the Q= MP >> 'MachineInfo' type return in its 'cpu-max' field during the >> 'query-machines' command? Should we be modifying QMP to return both >> values, so that libvirt can also expose the logic to the end user of >> allowing a recommended vs. larger development max? >> >=20 > Machine definitions maintain yet another 'max_cpus'. And it appears tha= t > qmp would return that value. It would probably be best if it returned > max(qemu_machine.max_cpus, kvm_max_cpus) though. > =20 > I'm starting to think that we should just keep things simple for most o= f > the virt stack by sticking to enforcing the larger developer max. And > then on a production kernel we should just compile KVM_MAX_VCPUS =3D > KVM_SOFT_MAX_VCPUS and be done with it. With that thought, this patch > could be dropped too. The alternative seems to be supporting a run-time= > selectable experimental mode throughout the whole virt stack. Indeed - if it is a number you are unwilling to support, don't compile it into the kernel in the first place. Allowing arbitrary limits that are lower than the maximum imply policy, and policy implies touching the stack (because someone, somewhere in the stack, will have good reason for setting policy different than the lowest layer); fix the maximum instead, and the whole stack complies without having to worry about policy. IMO, this is a case where fewer knobs is better. --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --fLQdkbHIqaBVAMra8JlHJe8wd3D7HWMQ2 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJSHe4HAAoJEKeha0olJ0Nq4lEH/RJnBhr6LOL6YHaYHKp4BhjJ PSE2ICw8RvDe7P6mLNYSHor9HvXVFAgzxCET+LJPCqvLo+ajgByDC13GE/bd4zDQ dga2py/vKucdRUF0SUA/TabIa3QXFIrpXSEA+pDJp/fkNuWUkJPxH5Cf6T/mJ3ET dA7mlJKWUQoEPr3OGqvPfMhCqDlGqxG/BGFGm5etJOE4KT0vjLbgK1dXPrqBizg3 aRf0uebE0QuaKlbOd6eELCCS9LE+E1gh+x3pDErN0dt2Oukvz+s7zUlCLShHZN5E ZucoIpk0VOKceBkGTWF9B5oU6q3VasuMkhscfpHqFeJpF756oQWewL2UImy0IiA= =PMfw -----END PGP SIGNATURE----- --fLQdkbHIqaBVAMra8JlHJe8wd3D7HWMQ2--