From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Mueller Subject: Re: [Qemu-devel] [RFC PATCH v2 12/15] cpu-model/s390: Extend QMP command query-cpu-definitions Date: Wed, 18 Feb 2015 10:29:29 +0100 Message-ID: <20150218102929.04dfc6cf@bee> References: <1424183053-4310-1-git-send-email-mimu@linux.vnet.ibm.com> <1424183053-4310-13-git-send-email-mimu@linux.vnet.ibm.com> <54E383DE.5060902@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <54E383DE.5060902@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Archive: List-Post: To: Eric Blake Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, Gleb Natapov , Alexander Graf , Christian Borntraeger , "Jason J. Herne" , Cornelia Huck , Paolo Bonzini , Andreas Faerber , Richard Henderson List-ID: LS0tLS1CRUdJTiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQ0KSGFzaDogU0hBMQ0KDQpPbiBUdWUs IDE3IEZlYiAyMDE1IDExOjA5OjM0IC0wNzAwDQpFcmljIEJsYWtlIDxlYmxha2VAcmVkaGF0LmNv bT4gd3JvdGU6DQoNCj4gT24gMDIvMTcvMjAxNSAwNzoyNCBBTSwgTWljaGFlbCBNdWVsbGVyIHdy b3RlOg0KPiA+IFRoaXMgcGF0Y2ggaW1wbGVtZW50cyB0aGUgUU1QIGNvbW1hbmQgJ3F1ZXJ5LWNw dS1kZWZpbml0aW9ucycgaW4gdGhlIFMzOTANCj4gPiBjb250ZXh0LiBUaGUgY29tbWFuZCByZXR1 cm5zIGEgaW4gdGVybXMgb2YgbWFjaGluZSByZWxlYXNlIGRhdGUgZGVzY2VuZGluZw0KPiA+IHNv cnRlZCBsaXN0IG9mIGNwdSBtb2RlbCBuYW1lcyBpbiB0aGUgY3VycmVudCBob3N0IGNvbnRleHQu DQo+IA0KPiByZXR1cm5zIGEgbGlzdCBvZiBjcHUgbW9kZWwgbmFtZXMgc29ydGVkIGJ5IGRlc2Nl bmRpbmcgcmVsZWFzZSBkYXRlcy4NCj4gDQo+IERvZXMgZ3VhcmFudGVlaW5nIHRoZSBzb3J0aW5n IGFzIHBhcnQgb2YgdGhlIGludGVyZmFjZSByZWFsbHkgbWF0dGVyLCBvcg0KPiB3b3VsZCBpdCBi ZSBiZXR0ZXIgdG8ganVzdCByZXR1cm4gdGhlIGxpc3Qgd2l0aCBubyBkb2N1bWVudGVkIHNvcnRp bmcNCj4gKHdoZXJlIGNhbGxlcnMgdHJlYXQgaXQgYXMgdW5zb3J0ZWQpPw0KDQpZZXAsIHRoYXQg aXMgYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsIGFuZCBJIGRvbid0IGRlcGVuZCBvbiB0aGF0LiBJ ZiBhIHNlcXVlbmNlIHdvdWxkIGJlIHJlcXVpcmVkDQpvbmUgY29sZCBtb2RlbCBhIGZpZWxkIG5h bWVkICJvcmRlciIuIEJ1dCBhcyBzYWlkLCBJIGRvbid0IHJlcXVpcmUgdGhhdCBhbmQgd2lsbCB1 cGRhdGUgdGhlDQpjb21tZW50IGJ5IGRyb3BwaW5nIHRoZSAic29ydGVkIGxpc3QiIHBhcnQuDQoN Cj4gDQo+ID4gQSBjb25zdW1lciBtYXkNCj4gPiBzdWNjZXNzZnVsbHkgcmVxdWVzdCBlYWNoIGxp c3RlZCBjcHUgbW9kZWwgYXMgbG9uZyBmb3IgYSBnaXZlbiBhY2NlbGVyYXRvcg0KPiA+IHRoaXMg bW9kZWwgaXMgcnVubmFibGUuDQo+ID4gDQo+ID4gVGh5IFFNUCB0eXBlIEFjY2VsQ3B1TW9kZWxJ bmZvIGlzIGludHJvZHVjZWQgYW5kIHRoZSB0eXBlIENwdURlZmluaXRpb25JbmZvDQo+ID4gaXMg ZXh0ZW5kZWQgYnkgdGhlIG9wdGlvbmFsIGZpZWxkICdhY2NlbGVyYXRvcnMnLiBJdCBjb250YWlu cyBhIGxpc3Qgb2YgbmFtZWQNCj4gPiBhY2NlbGVyYXRvcnMgYW5kIHNvbWUgaW5kaWNhdGlvbiB3 aGV0aGVyIHRoZSBhc3NvY2lhdGVkIGNwdSBtb2RlbCBpcyBydW5uYWJsZQ0KPiA+IG9yIHRoZSBk ZWZhdWx0IGNwdSBtb2RlbC4gVGhlIGRlZmF1bHQgY3B1IG1vZGVsIGlzIHVzZWQgZWl0aGVyIG5v IHNwZWNpZmljIGNwdQ0KPiA+IHdhcyByZXF1ZXN0ZWQgZHVyaW5nIFFFTVUgc3RhcnR1cCBvciB0 aGUgY3B1IG1vZGVsIHdpdGggbmFtZWQgJ2hvc3QnLg0KPiA+IA0KPiA+IHJlcXVlc3Q6DQo+ID4g ICB7ImV4ZWN1dGUiOiAicXVlcnktY3B1LWRlZmluaXRpb25zIn0NCj4gPiANCj4gPiBhbnN3ZXI6 DQo+ID4gICB7InJldHVybiI6DQo+ID4gICAgIFt7Im5hbWUiOiIyOTY0LWdhMSIsImFjY2VsZXJh dG9ycyI6W3sibmFtZSI6Imt2bSIsInJ1bm5hYmxlIjpmYWxzZSwiZGVmYXVsdCI6ZmFsc2V9XX0s DQo+ID4gICAgICB7Im5hbWUiOiIyODI4LWdhMSIsImFjY2VsZXJhdG9ycyI6W3sibmFtZSI6Imt2 bSIsInJ1bm5hYmxlIjpmYWxzZSwiZGVmYXVsdCI6ZmFsc2V9XX0sDQo+ID4gICAgICB7Im5hbWUi OiIyODI3LWdhMiIsImFjY2VsZXJhdG9ycyI6W3sibmFtZSI6Imt2bSIsInJ1bm5hYmxlIjp0cnVl LCJkZWZhdWx0Ijp0cnVlfV19LA0KPiA+ICAgICAgeyJuYW1lIjoiMjgyNy1nYTEiLCJhY2NlbGVy YXRvcnMiOlt7Im5hbWUiOiJrdm0iLCJydW5uYWJsZSI6dHJ1ZSwiZGVmYXVsdCI6ZmFsc2V9XX0s DQo+ID4gICAgICB7Im5hbWUiOiIyODE4LWdhMSIsImFjY2VsZXJhdG9ycyI6W3sibmFtZSI6Imt2 bSIsInJ1bm5hYmxlIjp0cnVlLCJkZWZhdWx0IjpmYWxzZX1dfSwNCj4gPiAgICAgIC4uLg0KPiA+ ICAgICAgeyJuYW1lIjoiMjA2NC1nYTEiLCJhY2NlbGVyYXRvcnMiOlt7InJ1bm5hYmxlIjp0cnVl LCJuYW1lIjoia3ZtIiwiZGVmYXVsdCI6ZmFsc2V9XX0NCj4gPiAgICAgXQ0KPiA+ICAgIH0NCj4g PiANCj4gDQo+IExvb2tzIG9rYXkgZnJvbSBhbiBpbnRlcmZhY2UgcGVyc3BlY3RpdmUuDQo+IA0K PiA+IFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTXVlbGxlciA8bWltdUBsaW51eC52bmV0LmlibS5j b20+DQo+ID4gLS0tDQo+ID4gIHFhcGktc2NoZW1hLmpzb24gICAgICAgICAgfCAgMjEgKysrKysr KysrLQ0KPiA+ICB0YXJnZXQtczM5MHgvY3B1LW1vZGVscy5jIHwgIDE1ICsrKysrKysNCj4gPiAg dGFyZ2V0LXMzOTB4L2NwdS1tb2RlbHMuaCB8ICAgMSArDQo+ID4gIHRhcmdldC1zMzkweC9jcHUu YyAgICAgICAgfCAxMDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLQ0KPiA+ICA0IGZpbGVzIGNoYW5nZWQsIDEzMCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9u cygtKQ0KPiA+IA0KPiA+IGRpZmYgLS1naXQgYS9xYXBpLXNjaGVtYS5qc29uIGIvcWFwaS1zY2hl bWEuanNvbg0KPiA+IGluZGV4IDk0MzFmYzIuLmE1ZDM4YWUgMTAwNjQ0DQo+ID4gLS0tIGEvcWFw aS1zY2hlbWEuanNvbg0KPiA+ICsrKyBiL3FhcGktc2NoZW1hLmpzb24NCj4gPiBAQCAtMjQ4NSwx NiArMjQ4NSwzNSBAQA0KPiA+ICAgICdkYXRhJzogWydxdGVzdCcsICd0Y2cnLCAna3ZtJywgJ3hl bicgIF0gfQ0KPiA+ICANCj4gPiAgIyMNCj4gPiArIyBAQWNjZWxDcHVNb2RlbEluZm86DQo+ID4g KyMNCj4gPiArIyBBY2NlbGVyYXRvciBzcGVjaWZpYyBDUFUgbW9kZWwgZGF0YQ0KPiA+ICsjDQo+ ID4gKyMgQGlkOiB0aGUgYWNjZWxlcmF0b3IgaWQNCj4gPiArIw0KPiANCj4gVGhlcmUgaXMgbm8g J2lkJyBmaWVsZCBiZWxvdywgZGlkIHlvdSBtZWFuICduYW1lJz8NCg0KSSBkaWQgcmVuYW1lIHRo YXQgb25lIHRpbWUgdG8gb2Z0ZW4gOi0pLCB3aWxsIHMvaWQvbmFtZS9nIC4uLg0KDQo+IA0KPiA+ ICsjIEBkZWZhdWx0OiBjcHUgbW9kZWwgZm9yICdob3N0Jw0KPiA+ICsjDQo+ID4gKyMgQHJ1bm5h YmxlOiBjcHUgbW9kZWwgY2FuIGJlIGFjdGl2YXRlZCBvbiBob3N0aW5nIG1hY2hpbmUNCj4gPiAr Iw0KPiA+ICsjIFNpbmNlOiAyLjMuMA0KPiA+ICsjDQo+ID4gKyMjDQo+ID4gK3sgJ3R5cGUnOiAn QWNjZWxDcHVNb2RlbEluZm8nLA0KPiA+ICsgICdkYXRhJzogeyAnbmFtZSc6ICdBY2NlbElkJywg J2RlZmF1bHQnOiAnYm9vbCcsICdydW5uYWJsZSc6ICdib29sJyB9IH0NCj4gPiArDQo+ID4gKyMj DQo+ID4gICMgQENwdURlZmluaXRpb25JbmZvOg0KPiA+ICAjDQo+ID4gICMgVmlydHVhbCBDUFUg ZGVmaW5pdGlvbi4NCj4gPiAgIw0KPiA+ICAjIEBuYW1lOiB0aGUgbmFtZSBvZiB0aGUgQ1BVIGRl ZmluaXRpb24NCj4gPiAgIw0KPiA+ICsjIEBhY2NlbGVyYXRvcnM6ICNvcHRpb25hbCBjcHUgbW9k ZWwgb2ZmZXJlZCBwZXIgYWNjZWxlcmF0b3IgKHNpbmNlIDIuMy4wKQ0KPiA+ICsjDQo+IA0KPiBN dXN0IHRoZSBmaWVsZCBiZSBvcHRpb25hbCwgb3Igd2lsbCB3ZSBhbHdheXMgcHJvdmlkZSBpdD8g IFNpbmNlIHRoaXMgaXMNCj4gYW4gb3V0cHV0LW9ubHkgZmllbGQsIGl0IGlzIG9rYXkgZm9yIGJh Y2stY29tcGF0IHRvIG1ha2UgdGhlIG5ldyBmaWVsZA0KPiB1bmNvbmRpdGlvbmFsLg0KDQpJdCB3 aWxsIGJlIGFsd2F5cyBwcm92aWRlZCB3aGVuIGFuIGFjY2VsZXJhdG9yIHN1cHBvcnRzIGNwdSBt b2RlbHMgYW5kIGltcGxlbWVudHMgdGhlDQpwcm9iaW5nIG1vZGUuIEFzIEknbSBjdXJyZW50bHkg YWRvcHRpbmcgaXQgZm9yIHMzOTAva3ZtIG9ubHksIEkgY2FuJ3QgZW5mb3JjZSBpdCBmb3IgYWxs DQpvdGhlciBhcmNoL2FjY2VsZXJhdG9yIGNvbWJpbmF0aW9ucyBhcyBpdCBpcyBhbiBleHRlbnNp b24gb2YgYW4gZXhpc3RpbmcgY29tbWFuZC4uLg0KDQpUaGFua3MNCk1pY2hhZWwNCg0KPiANCg0K LS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0NClZlcnNpb246IEdudVBHIHYxDQoNCmlRSWNC QUVCQWdBR0JRSlU1RnQ1QUFvSkVMUGNQTFFTSnNLUTUyMFAvQTNFUXF5WTdidWhCWld3VkRRY0E0 OUoNCkZTemp5RXQySkFKbVpBbE1GTWF4YlZEd0pjbTVQWEViQ0hSMStOdURYdXlFWXNQeHFHN1R4 dlArM3lMUjJsTGENClFidWNIR2Q5TTc4OVRnMGh5MllQaWZJSUI5M0xZNUtiM1NOeGhMNTJvbHlJ cm5zb3ZIb0JDYmJvTWxtbUtUazcNCkt5SDZxMktYZGRqV3RaYkh5OVdHUVk5MXI1NnlNZHNiZkl4 YllNSnVKYkovOUhyMGxoMHhCNlc3N21MOEdJclYNCmRiVVJqYVpYd2dvR2VjVkFseUVRY3BJblMy Zmw2WFNYN1kyckNBcTlKcC85Wk5mU1FkT2FpMTlNZDJjUTFKTGkNCjkycVl3Z1Q4WFY2YlpPSEox RTh4YzcrS2xKUlJINE12WWJXVE5DVkhFQTNld0U1cllrc3BlOTJmRWo4MkdabmMNCmVKVitoalpj cTljTmFPRjhidmhwankrOXpXOFdkcndzUUtiWE5FZUpEekRtblloYWFLY2RLUmE2cVVEd1lMUVcN CmVnK1RBZk8rRzlZTllmRXBKSDVva0NvM3Q3ZWxwWWxrZGNPdk50ajFYMmdGQW1wamtiZVZPVVdT RDFKbXRKNXUNCitzM1hVYWd2UWR6b0lkcHN6aW9iME5FcExVNjJRRmNxQWEzWk5TWS9GRTdpdFRN blpzMitydmJZVXhHeVJqcXoNCkJiRXdQRG9BTWNGQ082Q2RLL2hvWnhWOFJiQ1JIK01vRHkrb0xL WGJ4c0YxckpjRmZlNVZHVVFCVGJZSlVORU8NCmw4N3NVSkJ3NUFxY1U1L1ZwbnVRbi91blZDdXBR eG91cjYzVDZXeHpvYnZGVCtycE1JUjhtVVFYYUFFZTlSZkoNCjhHOEE1VlhuOEM0enJDMkFtNUc1 DQo9Y3Bmbw0KLS0tLS1FTkQgUEdQIFNJR05BVFVSRS0tLS0tDQo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752181AbbBRJ3p (ORCPT ); Wed, 18 Feb 2015 04:29:45 -0500 Received: from e06smtp16.uk.ibm.com ([195.75.94.112]:60097 "EHLO e06smtp16.uk.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751259AbbBRJ3l (ORCPT ); Wed, 18 Feb 2015 04:29:41 -0500 Date: Wed, 18 Feb 2015 10:29:29 +0100 From: Michael Mueller To: Eric Blake Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, Gleb Natapov , Alexander Graf , Christian Borntraeger , "Jason J. Herne" , Cornelia Huck , Paolo Bonzini , Andreas Faerber , Richard Henderson Subject: Re: [Qemu-devel] [RFC PATCH v2 12/15] cpu-model/s390: Extend QMP command query-cpu-definitions Message-ID: <20150218102929.04dfc6cf@bee> In-Reply-To: <54E383DE.5060902@redhat.com> References: <1424183053-4310-1-git-send-email-mimu@linux.vnet.ibm.com> <1424183053-4310-13-git-send-email-mimu@linux.vnet.ibm.com> <54E383DE.5060902@redhat.com> Organization: IBM X-Mailer: Claws Mail 3.9.3 (GTK+ 2.24.23; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15021809-0025-0000-0000-000003EDBA75 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by nfs id t1I9TpxF022239 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, 17 Feb 2015 11:09:34 -0700 Eric Blake wrote: > On 02/17/2015 07:24 AM, Michael Mueller wrote: > > This patch implements the QMP command 'query-cpu-definitions' in the S390 > > context. The command returns a in terms of machine release date descending > > sorted list of cpu model names in the current host context. > > returns a list of cpu model names sorted by descending release dates. > > Does guaranteeing the sorting as part of the interface really matter, or > would it be better to just return the list with no documented sorting > (where callers treat it as unsorted)? Yep, that is an implementation detail and I don't depend on that. If a sequence would be required one cold model a field named "order". But as said, I don't require that and will update the comment by dropping the "sorted list" part. > > > A consumer may > > successfully request each listed cpu model as long for a given accelerator > > this model is runnable. > > > > Thy QMP type AccelCpuModelInfo is introduced and the type CpuDefinitionInfo > > is extended by the optional field 'accelerators'. It contains a list of named > > accelerators and some indication whether the associated cpu model is runnable > > or the default cpu model. The default cpu model is used either no specific cpu > > was requested during QEMU startup or the cpu model with named 'host'. > > > > request: > > {"execute": "query-cpu-definitions"} > > > > answer: > > {"return": > > [{"name":"2964-ga1","accelerators":[{"name":"kvm","runnable":false,"default":false}]}, > > {"name":"2828-ga1","accelerators":[{"name":"kvm","runnable":false,"default":false}]}, > > {"name":"2827-ga2","accelerators":[{"name":"kvm","runnable":true,"default":true}]}, > > {"name":"2827-ga1","accelerators":[{"name":"kvm","runnable":true,"default":false}]}, > > {"name":"2818-ga1","accelerators":[{"name":"kvm","runnable":true,"default":false}]}, > > ... > > {"name":"2064-ga1","accelerators":[{"runnable":true,"name":"kvm","default":false}]} > > ] > > } > > > > Looks okay from an interface perspective. > > > Signed-off-by: Michael Mueller > > --- > > qapi-schema.json | 21 +++++++++- > > target-s390x/cpu-models.c | 15 +++++++ > > target-s390x/cpu-models.h | 1 + > > target-s390x/cpu.c | 100 +++++++++++++++++++++++++++++++++++++++++++--- > > 4 files changed, 130 insertions(+), 7 deletions(-) > > > > diff --git a/qapi-schema.json b/qapi-schema.json > > index 9431fc2..a5d38ae 100644 > > --- a/qapi-schema.json > > +++ b/qapi-schema.json > > @@ -2485,16 +2485,35 @@ > > 'data': ['qtest', 'tcg', 'kvm', 'xen' ] } > > > > ## > > +# @AccelCpuModelInfo: > > +# > > +# Accelerator specific CPU model data > > +# > > +# @id: the accelerator id > > +# > > There is no 'id' field below, did you mean 'name'? I did rename that one time to often :-), will s/id/name/g ... > > > +# @default: cpu model for 'host' > > +# > > +# @runnable: cpu model can be activated on hosting machine > > +# > > +# Since: 2.3.0 > > +# > > +## > > +{ 'type': 'AccelCpuModelInfo', > > + 'data': { 'name': 'AccelId', 'default': 'bool', 'runnable': 'bool' } } > > + > > +## > > # @CpuDefinitionInfo: > > # > > # Virtual CPU definition. > > # > > # @name: the name of the CPU definition > > # > > +# @accelerators: #optional cpu model offered per accelerator (since 2.3.0) > > +# > > Must the field be optional, or will we always provide it? Since this is > an output-only field, it is okay for back-compat to make the new field > unconditional. It will be always provided when an accelerator supports cpu models and implements the probing mode. As I'm currently adopting it for s390/kvm only, I can't enforce it for all other arch/accelerator combinations as it is an extension of an existing command... Thanks Michael > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJU5Ft5AAoJELPcPLQSJsKQ520P/A3EQqyY7buhBZWwVDQcA49J FSzjyEt2JAJmZAlMFMaxbVDwJcm5PXEbCHR1+NuDXuyEYsPxqG7TxvP+3yLR2lLa QbucHGd9M789Tg0hy2YPifIIB93LY5Kb3SNxhL52olyIrnsovHoBCbboMlmmKTk7 KyH6q2KXddjWtZbHy9WGQY91r56yMdsbfIxbYMJuJbJ/9Hr0lh0xB6W77mL8GIrV dbURjaZXwgoGecVAlyEQcpInS2fl6XSX7Y2rCAq9Jp/9ZNfSQdOai19Md2cQ1JLi 92qYwgT8XV6bZOHJ1E8xc7+KlJRRH4MvYbWTNCVHEA3ewE5rYkspe92fEj82GZnc eJV+hjZcq9cNaOF8bvhpjy+9zW8WdrwsQKbXNEeJDzDmnYhaaKcdKRa6qUDwYLQW eg+TAfO+G9YNYfEpJH5okCo3t7elpYlkdcOvNtj1X2gFAmpjkbeVOUWSD1JmtJ5u +s3XUagvQdzoIdpsziob0NEpLU62QFcqAa3ZNSY/FE7itTMnZs2+rvbYUxGyRjqz BbEwPDoAMcFCO6CdK/hoZxV8RbCRH+MoDy+oLKXbxsF1rJcFfe5VGUQBTbYJUNEO l87sUJBw5AqcU5/VpnuQn/unVCupQxour63T6WxzobvFT+rpMIR8mUQXaAEe9RfJ 8G8A5VXn8C4zrC2Am5G5 =cpfo -----END PGP SIGNATURE----- {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I