From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934406AbdBQOc2 (ORCPT ); Fri, 17 Feb 2017 09:32:28 -0500 Received: from aserp1040.oracle.com ([141.146.126.69]:27048 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934137AbdBQOc1 (ORCPT ); Fri, 17 Feb 2017 09:32:27 -0500 Subject: Re: [PATCH 2/2] x86/xen: use capabilities instead of fake cpuid values To: Juergen Gross , linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org References: <20170217073625.13418-1-jgross@suse.com> <20170217073625.13418-3-jgross@suse.com> <1f923425-47f5-5e6d-5bca-e4c98d54ced5@suse.com> Cc: hpa@zytor.com, tglx@linutronix.de, mingo@redhat.com From: Boris Ostrovsky Message-ID: Date: Fri, 17 Feb 2017 09:30:57 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: <1f923425-47f5-5e6d-5bca-e4c98d54ced5@suse.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Source-IP: userv0021.oracle.com [156.151.31.71] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/17/2017 09:19 AM, Juergen Gross wrote: > On 17/02/17 15:05, Boris Ostrovsky wrote: >> >> >> On 02/17/2017 02:36 AM, Juergen Gross wrote: >>> When running as pv domain xen_cpuid() is being used instead of >>> native_cpuid(). In xen_cpuid() the aperf/mperf feature is indicated >>> as not being present by special casing the related cpuid leaf. >>> >>> Instead of delivering fake cpuid values clear the cpu capability bit >>> for aperf/mperf instead. >>> >>> Signed-off-by: Juergen Gross >>> --- >>> arch/x86/xen/enlighten.c | 11 +++-------- >>> 1 file changed, 3 insertions(+), 8 deletions(-) >>> >>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c >>> index 83399ce..0eebb75 100644 >>> --- a/arch/x86/xen/enlighten.c >>> +++ b/arch/x86/xen/enlighten.c >>> @@ -301,9 +301,6 @@ xen_running_on_version_or_later(unsigned int >>> major, unsigned int minor) >>> return false; >>> } >>> >>> -#define CPUID_THERM_POWER_LEAF 6 >>> -#define APERFMPERF_PRESENT 0 >>> - >>> static __read_mostly unsigned int cpuid_leaf1_edx_mask = ~0; >>> static __read_mostly unsigned int cpuid_leaf1_ecx_mask = ~0; >>> >>> @@ -337,11 +334,6 @@ static void xen_cpuid(unsigned int *ax, unsigned >>> int *bx, >>> *dx = cpuid_leaf5_edx_val; >>> return; >>> >>> - case CPUID_THERM_POWER_LEAF: >>> - /* Disabling APERFMPERF for kernel usage */ >>> - maskecx = ~(1 << APERFMPERF_PRESENT); >>> - break; >>> - >> >> >> But now APERF/MPERF will be reported as supported by CPUID, won't it? > > Yes. But this shouldn't be a problem as the kernel is always testing > X86_FEATURE_APERFMPERF for testing the support. But X86_FEATURE_APERFMPERF cap is set based on CPUID query. -boris > >>> case 0xb: >>> /* Suppress extended topology stuff */ >>> maskebx = 0; >>> @@ -462,6 +454,9 @@ static void __init xen_init_cpuid_mask(void) >>> if (xen_check_mwait()) >>> cpuid_leaf1_ecx_set_mask = (1 << (X86_FEATURE_MWAIT % 32)); >>> >>> + /* Disable APERFMPERF feature. */ >>> + setup_clear_cpu_cap(X86_FEATURE_APERFMPERF); >>> + >>> /* Disable DCA feature. */ >>> setup_clear_cpu_cap(X86_FEATURE_DCA); >> >> >> I think both of those can go to xen_set_cpu_features(). > > Okay. I'll move them. > > I think we can convert some of the remaining cpuid bit modifications to > cpu capabilities as well. > > > Juergen > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: Re: [PATCH 2/2] x86/xen: use capabilities instead of fake cpuid values Date: Fri, 17 Feb 2017 09:30:57 -0500 Message-ID: References: <20170217073625.13418-1-jgross@suse.com> <20170217073625.13418-3-jgross@suse.com> <1f923425-47f5-5e6d-5bca-e4c98d54ced5@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cejZ8-0004An-Kx for xen-devel@lists.xenproject.org; Fri, 17 Feb 2017 14:31:18 +0000 In-Reply-To: <1f923425-47f5-5e6d-5bca-e4c98d54ced5@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Juergen Gross , linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org Cc: tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com List-Id: xen-devel@lists.xenproject.org CgpPbiAwMi8xNy8yMDE3IDA5OjE5IEFNLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOgo+IE9uIDE3LzAy LzE3IDE1OjA1LCBCb3JpcyBPc3Ryb3Zza3kgd3JvdGU6Cj4+Cj4+Cj4+IE9uIDAyLzE3LzIwMTcg MDI6MzYgQU0sIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6Cj4+PiBXaGVuIHJ1bm5pbmcgYXMgcHYgZG9t YWluIHhlbl9jcHVpZCgpIGlzIGJlaW5nIHVzZWQgaW5zdGVhZCBvZgo+Pj4gbmF0aXZlX2NwdWlk KCkuIEluIHhlbl9jcHVpZCgpIHRoZSBhcGVyZi9tcGVyZiBmZWF0dXJlIGlzIGluZGljYXRlZAo+ Pj4gYXMgbm90IGJlaW5nIHByZXNlbnQgYnkgc3BlY2lhbCBjYXNpbmcgdGhlIHJlbGF0ZWQgY3B1 aWQgbGVhZi4KPj4+Cj4+PiBJbnN0ZWFkIG9mIGRlbGl2ZXJpbmcgZmFrZSBjcHVpZCB2YWx1ZXMg Y2xlYXIgdGhlIGNwdSBjYXBhYmlsaXR5IGJpdAo+Pj4gZm9yIGFwZXJmL21wZXJmIGluc3RlYWQu Cj4+Pgo+Pj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgo+ Pj4gLS0tCj4+PiAgYXJjaC94ODYveGVuL2VubGlnaHRlbi5jIHwgMTEgKysrLS0tLS0tLS0KPj4+ ICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQo+Pj4KPj4+ IGRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMgYi9hcmNoL3g4Ni94ZW4vZW5s aWdodGVuLmMKPj4+IGluZGV4IDgzMzk5Y2UuLjBlZWJiNzUgMTAwNjQ0Cj4+PiAtLS0gYS9hcmNo L3g4Ni94ZW4vZW5saWdodGVuLmMKPj4+ICsrKyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYwo+ Pj4gQEAgLTMwMSw5ICszMDEsNiBAQCB4ZW5fcnVubmluZ19vbl92ZXJzaW9uX29yX2xhdGVyKHVu c2lnbmVkIGludAo+Pj4gbWFqb3IsIHVuc2lnbmVkIGludCBtaW5vcikKPj4+ICAgICAgcmV0dXJu IGZhbHNlOwo+Pj4gIH0KPj4+Cj4+PiAtI2RlZmluZSBDUFVJRF9USEVSTV9QT1dFUl9MRUFGIDYK Pj4+IC0jZGVmaW5lIEFQRVJGTVBFUkZfUFJFU0VOVCAwCj4+PiAtCj4+PiAgc3RhdGljIF9fcmVh ZF9tb3N0bHkgdW5zaWduZWQgaW50IGNwdWlkX2xlYWYxX2VkeF9tYXNrID0gfjA7Cj4+PiAgc3Rh dGljIF9fcmVhZF9tb3N0bHkgdW5zaWduZWQgaW50IGNwdWlkX2xlYWYxX2VjeF9tYXNrID0gfjA7 Cj4+Pgo+Pj4gQEAgLTMzNywxMSArMzM0LDYgQEAgc3RhdGljIHZvaWQgeGVuX2NwdWlkKHVuc2ln bmVkIGludCAqYXgsIHVuc2lnbmVkCj4+PiBpbnQgKmJ4LAo+Pj4gICAgICAgICAgKmR4ID0gY3B1 aWRfbGVhZjVfZWR4X3ZhbDsKPj4+ICAgICAgICAgIHJldHVybjsKPj4+Cj4+PiAtICAgIGNhc2Ug Q1BVSURfVEhFUk1fUE9XRVJfTEVBRjoKPj4+IC0gICAgICAgIC8qIERpc2FibGluZyBBUEVSRk1Q RVJGIGZvciBrZXJuZWwgdXNhZ2UgKi8KPj4+IC0gICAgICAgIG1hc2tlY3ggPSB+KDEgPDwgQVBF UkZNUEVSRl9QUkVTRU5UKTsKPj4+IC0gICAgICAgIGJyZWFrOwo+Pj4gLQo+Pgo+Pgo+PiBCdXQg bm93IEFQRVJGL01QRVJGIHdpbGwgYmUgcmVwb3J0ZWQgYXMgc3VwcG9ydGVkIGJ5IENQVUlELCB3 b24ndCBpdD8KPgo+IFllcy4gQnV0IHRoaXMgc2hvdWxkbid0IGJlIGEgcHJvYmxlbSBhcyB0aGUg a2VybmVsIGlzIGFsd2F5cyB0ZXN0aW5nCj4gWDg2X0ZFQVRVUkVfQVBFUkZNUEVSRiBmb3IgdGVz dGluZyB0aGUgc3VwcG9ydC4KCgpCdXQgWDg2X0ZFQVRVUkVfQVBFUkZNUEVSRiBjYXAgaXMgc2V0 IGJhc2VkIG9uIENQVUlEIHF1ZXJ5LgoKLWJvcmlzCgo+Cj4+PiAgICAgIGNhc2UgMHhiOgo+Pj4g ICAgICAgICAgLyogU3VwcHJlc3MgZXh0ZW5kZWQgdG9wb2xvZ3kgc3R1ZmYgKi8KPj4+ICAgICAg ICAgIG1hc2tlYnggPSAwOwo+Pj4gQEAgLTQ2Miw2ICs0NTQsOSBAQCBzdGF0aWMgdm9pZCBfX2lu aXQgeGVuX2luaXRfY3B1aWRfbWFzayh2b2lkKQo+Pj4gICAgICBpZiAoeGVuX2NoZWNrX213YWl0 KCkpCj4+PiAgICAgICAgICBjcHVpZF9sZWFmMV9lY3hfc2V0X21hc2sgPSAoMSA8PCAoWDg2X0ZF QVRVUkVfTVdBSVQgJSAzMikpOwo+Pj4KPj4+ICsgICAgLyogRGlzYWJsZSBBUEVSRk1QRVJGIGZl YXR1cmUuICovCj4+PiArICAgIHNldHVwX2NsZWFyX2NwdV9jYXAoWDg2X0ZFQVRVUkVfQVBFUkZN UEVSRik7Cj4+PiArCj4+PiAgICAgIC8qIERpc2FibGUgRENBIGZlYXR1cmUuICovCj4+PiAgICAg IHNldHVwX2NsZWFyX2NwdV9jYXAoWDg2X0ZFQVRVUkVfRENBKTsKPj4KPj4KPj4gSSB0aGluayBi b3RoIG9mIHRob3NlIGNhbiBnbyB0byB4ZW5fc2V0X2NwdV9mZWF0dXJlcygpLgo+Cj4gT2theS4g SSdsbCBtb3ZlIHRoZW0uCj4KPiBJIHRoaW5rIHdlIGNhbiBjb252ZXJ0IHNvbWUgb2YgdGhlIHJl bWFpbmluZyBjcHVpZCBiaXQgbW9kaWZpY2F0aW9ucyB0bwo+IGNwdSBjYXBhYmlsaXRpZXMgYXMg d2VsbC4KPgo+Cj4gSnVlcmdlbgo+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK