From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B793BC5B552 for ; Tue, 10 Jun 2025 07:09:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=j/U6GuD+3Bf0Jf8q//uvh3qYo2plCzx+mC/ur5f0mgo=; b=260CYycziETpJ7 XkTsxtGmzick4vlRm295dPjFAm00IVsmwJf2SG8q7idDlssVtRqlFUyQJ64lRxxDn1Erjizoeb/ox Bj80KFZ+6/FLz0laCa9KyOxYvIg+HEatRbYmTdvy+voWySOjQI+raaQRJWUcTYi/72pJh/uTePzpu 8jfzIPQOfT6UYJLM5AiemnDTktr9psbqnTtoQB2Z4RJz423+QRBacxl9t+ynXrBKh+ACFd78GWl8c Qf3hY4o0SkfKhrVvtVE7eU4gkYKgkVJlsgxqDXJfauPYy+A1MqlqdhLvToUQehp43s8l3CkuF9pSR 2f9ZxUSqK8l4aOSlTPiQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uOt6t-00000005zdR-1Tw5; Tue, 10 Jun 2025 07:09:27 +0000 Received: from mgamail.intel.com ([192.198.163.19]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uOt6q-00000005zcT-2WeO for kvm-riscv@lists.infradead.org; Tue, 10 Jun 2025 07:09:25 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749539364; x=1781075364; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=rBhGfRjbXGJT1L0cBkib0dMcBkiLujV0EA5TXcGUHJg=; b=PogA/pr0cuOOPbbKarm3ujGoogw1O9QsEJ2DpKNAcI1xzeeBsWd5eLFX itM0C+mPLG5Ehm/e4FSJtH6rogk5h6n1mymvLQ9aG1fergZt3ZDv3fBIB bZpytiybWxju60s6jP34YHuSQkHBNZujRz4apuA5ThZ6Apda6rjLqxJsx NR+IydQ5OpjJRA6aR94s6/E9eyC9paVhq4qn2Y6GgDZ4nVBRsweYlFCWF 3anJ5POmbXluDRXKJBZqA1+kTnEFtBixGv6iGUL9zcX1H7uFceI2VD6Ik cCiWox6mrqYQJlaUYBpqyHx+JQMwsIUoO8DwTpiVEZsAk1SGOXxRE2FGy A==; X-CSE-ConnectionGUID: o100FjulSv2tdCf8rlqvGw== X-CSE-MsgGUID: KN/ZrhBlRVK7kuNG+D6rNg== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="50742027" X-IronPort-AV: E=Sophos;i="6.16,224,1744095600"; d="scan'208";a="50742027" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2025 00:09:19 -0700 X-CSE-ConnectionGUID: FTuat8K7SFevwHdRdynsCQ== X-CSE-MsgGUID: 9MkNzKruSzKyGhID0rxevQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,224,1744095600"; d="scan'208";a="147312166" Received: from dapengmi-mobl1.ccr.corp.intel.com (HELO [10.124.245.144]) ([10.124.245.144]) by orviesa007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2025 00:09:17 -0700 Message-ID: Date: Tue, 10 Jun 2025 15:09:13 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [kvm-unit-tests PATCH 07/16] x86/pmu: Rename pmu_gp_counter_is_available() to pmu_arch_event_is_available() To: Sean Christopherson , Andrew Jones , Janosch Frank , Claudio Imbrenda , =?UTF-8?Q?Nico_B=C3=B6hr?= , Paolo Bonzini Cc: kvm-riscv@lists.infradead.org, linux-s390@vger.kernel.org, kvm@vger.kernel.org References: <20250529221929.3807680-1-seanjc@google.com> <20250529221929.3807680-8-seanjc@google.com> Content-Language: en-US From: "Mi, Dapeng" In-Reply-To: <20250529221929.3807680-8-seanjc@google.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250610_000924_682936_80A3F051 X-CRM114-Status: GOOD ( 24.64 ) X-BeenThere: kvm-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "kvm-riscv" Errors-To: kvm-riscv-bounces+kvm-riscv=archiver.kernel.org@lists.infradead.org Ck9uIDUvMzAvMjAyNSA2OjE5IEFNLCBTZWFuIENocmlzdG9waGVyc29uIHdyb3RlOgo+IFJlbmFt ZSBwbXVfZ3BfY291bnRlcl9pc19hdmFpbGFibGUoKSB0byBwbXVfYXJjaF9ldmVudF9pc19hdmFp bGFibGUoKSB0bwo+IHJlZmxlY3Qgd2hhdCB0aGUgZmllbGQgYW5kIGhlbHBlciBhY3R1YWxseSB0 cmFjay4gIFRoZSBhdmFpbGFibGl0eSBvZgo+IGFyY2hpdGVjdHVyYWwgZXZlbnRzIGhhcyBub3Ro aW5nIHRvIGRvIHdpdGggdGhlIEdQIGNvdW50ZXJzIHRoZW1zZWx2ZXMuCj4KPiBObyBmdW5jdGlv bmFsIGNoYW5nZSBpbnRlbmRlZC4KPgo+IFNpZ25lZC1vZmYtYnk6IFNlYW4gQ2hyaXN0b3BoZXJz b24gPHNlYW5qY0Bnb29nbGUuY29tPgo+IC0tLQo+ICBsaWIveDg2L3BtdS5jIHwgNCArKy0tCj4g IGxpYi94ODYvcG11LmggfCA2ICsrKy0tLQo+ICB4ODYvcG11LmMgICAgIHwgNiArKystLS0KPiAg MyBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCj4KPiBkaWZm IC0tZ2l0IGEvbGliL3g4Ni9wbXUuYyBiL2xpYi94ODYvcG11LmMKPiBpbmRleCBkMDZlOTQ1NS4u NTk5MTY4YWMgMTAwNjQ0Cj4gLS0tIGEvbGliL3g4Ni9wbXUuYwo+ICsrKyBiL2xpYi94ODYvcG11 LmMKPiBAQCAtMjEsNyArMjEsNyBAQCB2b2lkIHBtdV9pbml0KHZvaWQpCj4gIAkJcG11LmdwX2Nv dW50ZXJfbWFza19sZW5ndGggPSAoY3B1aWRfMTAuYSA+PiAyNCkgJiAweGZmOwo+ICAKPiAgCQkv KiBDUFVJRC4weEEuRUJYIGJpdCBpcyAnMScgaWYgYSBjb3VudGVyIGlzIE5PVCBhdmFpbGFibGUu ICovCgpXZSBuZWVkIHRvIG1vZGlmeSB0aGUgY29tbWVudCBhcyB3ZWxsLgoKCj4gLQkJcG11Lmdw X2NvdW50ZXJfYXZhaWxhYmxlID0gfmNwdWlkXzEwLmI7Cj4gKwkJcG11LmFyY2hfZXZlbnRfYXZh aWxhYmxlID0gfmNwdWlkXzEwLmI7Cj4gIAo+ICAJCWlmICh0aGlzX2NwdV9oYXMoWDg2X0ZFQVRV UkVfUERDTSkpCj4gIAkJCXBtdS5wZXJmX2NhcCA9IHJkbXNyKE1TUl9JQTMyX1BFUkZfQ0FQQUJJ TElUSUVTKTsKPiBAQCAtNTEsNyArNTEsNyBAQCB2b2lkIHBtdV9pbml0KHZvaWQpCj4gIAkJfQo+ ICAJCXBtdS5ncF9jb3VudGVyX3dpZHRoID0gUE1DX0RFRkFVTFRfV0lEVEg7Cj4gIAkJcG11Lmdw X2NvdW50ZXJfbWFza19sZW5ndGggPSBwbXUubnJfZ3BfY291bnRlcnM7Cj4gLQkJcG11LmdwX2Nv dW50ZXJfYXZhaWxhYmxlID0gKDF1IDw8IHBtdS5ucl9ncF9jb3VudGVycykgLSAxOwo+ICsJCXBt dS5hcmNoX2V2ZW50X2F2YWlsYWJsZSA9ICgxdSA8PCBwbXUubnJfZ3BfY291bnRlcnMpIC0gMTsK CiJhdmFpbGFibGUgYXJjaGl0ZWN0dXJhbCBldmVudHMiIGFuZCAiYXZhaWxhYmxlIEdQIGNvdW50 ZXJzIiBhcmUgdHdvCmRpZmZlcmVudCB0aGluZ3MuIEkga25vdyB0aGlzIHdvdWxkIGJlIGNoYW5n ZWQgaW4gbGF0ZXIgcGF0Y2ggMDkvMTYsIGJ1dAppdCdzIHJlYWxseSBjb25mdXNpbmcuIENvdWxk IHdlIG1lcmdlIHRoZSBsYXRlciBwYXRjaCAwOS8xNiBpbnRvIHRoaXMgcGF0Y2g/CgoKPiAgCj4g IAkJaWYgKHRoaXNfY3B1X2hhc19wZXJmX2dsb2JhbF9zdGF0dXMoKSkgewo+ICAJCQlwbXUubXNy X2dsb2JhbF9zdGF0dXMgPSBNU1JfQU1ENjRfUEVSRl9DTlRSX0dMT0JBTF9TVEFUVVM7Cj4gZGlm ZiAtLWdpdCBhL2xpYi94ODYvcG11LmggYi9saWIveDg2L3BtdS5oCj4gaW5kZXggZjA3ZmJkOTMu LmQwYWQyODBhIDEwMDY0NAo+IC0tLSBhL2xpYi94ODYvcG11LmgKPiArKysgYi9saWIveDg2L3Bt dS5oCj4gQEAgLTY0LDcgKzY0LDcgQEAgc3RydWN0IHBtdV9jYXBzIHsKPiAgCXU4IG5yX2dwX2Nv dW50ZXJzOwo+ICAJdTggZ3BfY291bnRlcl93aWR0aDsKPiAgCXU4IGdwX2NvdW50ZXJfbWFza19s ZW5ndGg7Cj4gLQl1MzIgZ3BfY291bnRlcl9hdmFpbGFibGU7Cj4gKwl1MzIgYXJjaF9ldmVudF9h dmFpbGFibGU7Cj4gIAl1MzIgbXNyX2dwX2NvdW50ZXJfYmFzZTsKPiAgCXUzMiBtc3JfZ3BfZXZl bnRfc2VsZWN0X2Jhc2U7Cj4gIAo+IEBAIC0xMTAsOSArMTEwLDkgQEAgc3RhdGljIGlubGluZSBi b29sIHRoaXNfY3B1X2hhc19wZXJmX2dsb2JhbF9zdGF0dXModm9pZCkKPiAgCXJldHVybiBwbXUu dmVyc2lvbiA+IDE7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbmxpbmUgYm9vbCBwbXVfZ3BfY291bnRl cl9pc19hdmFpbGFibGUoaW50IGkpCj4gK3N0YXRpYyBpbmxpbmUgYm9vbCBwbXVfYXJjaF9ldmVu dF9pc19hdmFpbGFibGUoaW50IGkpCj4gIHsKPiAtCXJldHVybiBwbXUuZ3BfY291bnRlcl9hdmFp bGFibGUgJiBCSVQoaSk7Cj4gKwlyZXR1cm4gcG11LmFyY2hfZXZlbnRfYXZhaWxhYmxlICYgQklU KGkpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgaW5saW5lIHU2NCBwbXVfbGJyX3ZlcnNpb24odm9pZCkK PiBkaWZmIC0tZ2l0IGEveDg2L3BtdS5jIGIveDg2L3BtdS5jCj4gaW5kZXggOGNmMjZiMTIuLjBj ZTM0NDMzIDEwMDY0NAo+IC0tLSBhL3g4Ni9wbXUuYwo+ICsrKyBiL3g4Ni9wbXUuYwo+IEBAIC00 MzYsNyArNDM2LDcgQEAgc3RhdGljIHZvaWQgY2hlY2tfZ3BfY291bnRlcnModm9pZCkKPiAgCWlu dCBpOwo+ICAKPiAgCWZvciAoaSA9IDA7IGkgPCBncF9ldmVudHNfc2l6ZTsgaSsrKQo+IC0JCWlm IChwbXVfZ3BfY291bnRlcl9pc19hdmFpbGFibGUoaSkpCj4gKwkJaWYgKHBtdV9hcmNoX2V2ZW50 X2lzX2F2YWlsYWJsZShpKSkKPiAgCQkJY2hlY2tfZ3BfY291bnRlcigmZ3BfZXZlbnRzW2ldKTsK PiAgCQllbHNlCj4gIAkJCXByaW50ZigiR1AgZXZlbnQgJyVzJyBpcyBkaXNhYmxlZFxuIiwKPiBA QCAtNDYzLDcgKzQ2Myw3IEBAIHN0YXRpYyB2b2lkIGNoZWNrX2NvdW50ZXJzX21hbnkodm9pZCkK PiAgCWludCBpLCBuOwo+ICAKPiAgCWZvciAoaSA9IDAsIG4gPSAwOyBuIDwgcG11Lm5yX2dwX2Nv dW50ZXJzOyBpKyspIHsKPiAtCQlpZiAoIXBtdV9ncF9jb3VudGVyX2lzX2F2YWlsYWJsZShpKSkK PiArCQlpZiAoIXBtdV9hcmNoX2V2ZW50X2lzX2F2YWlsYWJsZShpKSkKPiAgCQkJY29udGludWU7 CgpUaGUgaW50ZW50IG9mIGNoZWNrX2NvdW50ZXJzX21hbnkoKSBpcyB0byB2ZXJpZnkgYWxsIGF2 YWlsYWJsZSBHUCBhbmQgZml4ZWQKY291bnRlcnMgY2FuIGNvdW50IGNvcnJlY3RseSBhdCB0aGUg c2FtZSB0aW1lLiBTbyB3ZSBzaG91bGQgc2VsZWN0IGFub3RoZXIKYXZhaWxhYmxlIGV2ZW50IHRv IHZlcmlmeSB0aGUgY291bnRlciBpbnN0ZWFkIG9mIHNraXBwaW5nIHRoZSBjb3VudGVyIGlmIGFu CmV2ZW50IGlzIG5vdCBhdmFpbGFibGUuCgpNYXliZSBsaWtlIHRoaXMuCgpkaWZmIC0tZ2l0IGEv eDg2L3BtdS5jIGIveDg2L3BtdS5jCmluZGV4IDYzZWFlM2RiLi4wMTNmZGZjZSAxMDA2NDQKLS0t IGEveDg2L3BtdS5jCisrKyBiL3g4Ni9wbXUuYwpAQCAtNDU3LDE4ICs0NTcsMzQgQEAgc3RhdGlj IHZvaWQgY2hlY2tfZml4ZWRfY291bnRlcnModm9pZCkKwqAgwqAgwqAgwqAgfQrCoH0KCitzdGF0 aWMgc3RydWN0IHBtdV9ldmVudCAqZ2V0X29uZV9ldmVudChpbnQgaWR4KQoreworwqAgwqAgwqAg wqBpbnQgaTsKKworwqAgwqAgwqAgwqBpZiAocG11X2FyY2hfZXZlbnRfaXNfYXZhaWxhYmxlKGlk eCkpCivCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHJldHVybiAmZ3BfZXZlbnRzW2lkeCAlIGdwX2V2 ZW50c19zaXplXTsKKworwqAgwqAgwqAgwqBmb3IgKGkgPSAwOyBpIDwgZ3BfZXZlbnRzX3NpemU7 IGkrKykgeworwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBpZiAocG11X2FyY2hfZXZlbnRfaXNfYXZh aWxhYmxlKGkpKQorwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqByZXR1cm4gJmdw X2V2ZW50c1tpXTsKK8KgIMKgIMKgIMKgfQorCivCoCDCoCDCoCDCoHJldHVybiBOVUxMOworfQor CsKgc3RhdGljIHZvaWQgY2hlY2tfY291bnRlcnNfbWFueSh2b2lkKQrCoHsKK8KgIMKgIMKgIMKg c3RydWN0IHBtdV9ldmVudCAqZXZ0OwrCoCDCoCDCoCDCoCBwbXVfY291bnRlcl90IGNudFs0OF07 CsKgIMKgIMKgIMKgIGludCBpLCBuOwoKwqAgwqAgwqAgwqAgZm9yIChpID0gMCwgbiA9IDA7IG4g PCBwbXUubnJfZ3BfY291bnRlcnM7IGkrKykgewotwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBpZiAo IXBtdV9hcmNoX2V2ZW50X2lzX2F2YWlsYWJsZShpKSkKK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKg ZXZ0ID0gZ2V0X29uZV9ldmVudChpKTsKK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgaWYgKCFldnQp CsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGNvbnRpbnVlOwoKwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgY250W25dLmN0ciA9IE1TUl9HUF9DT1VOVEVSeChuKTsKLcKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgY250W25dLmNvbmZpZyA9IEVWTlRTRUxfT1MgfCBFVk5UU0VMX1VTUiB8 Ci3CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGdwX2V2ZW50c1tpICUgZ3BfZXZl bnRzX3NpemVdLnVuaXRfc2VsOworwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBjbnRbbl0uY29uZmln ID0gRVZOVFNFTF9PUyB8IEVWTlRTRUxfVVNSIHwgZXZ0LT51bml0X3NlbDsKwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgbisrOwrCoCDCoCDCoCDCoCB9CsKgIMKgIMKgIMKgIGZvciAoaSA9IDA7IGkg PCBmaXhlZF9jb3VudGVyc19udW07IGkrKykgewoKCj4gIAo+ICAJCWNudFtuXS5jdHIgPSBNU1Jf R1BfQ09VTlRFUngobik7Cj4gQEAgLTkwMiw3ICs5MDIsNyBAQCBzdGF0aWMgdm9pZCBzZXRfcmVm X2N5Y2xlX2V4cGVjdGF0aW9ucyh2b2lkKQo+ICAJdWludDY0X3QgdDAsIHQxLCB0MiwgdDM7Cj4g IAo+ICAJLyogQml0IDIgZW51bWVyYXRlcyB0aGUgYXZhaWxhYmlsaXR5IG9mIHJlZmVyZW5jZSBj eWNsZXMgZXZlbnRzLiAqLwo+IC0JaWYgKCFwbXUubnJfZ3BfY291bnRlcnMgfHwgIXBtdV9ncF9j b3VudGVyX2lzX2F2YWlsYWJsZSgyKSkKPiArCWlmICghcG11Lm5yX2dwX2NvdW50ZXJzIHx8ICFw bXVfYXJjaF9ldmVudF9pc19hdmFpbGFibGUoMikpCj4gIAkJcmV0dXJuOwo+ICAKPiAgCWlmICh0 aGlzX2NwdV9oYXNfcGVyZl9nbG9iYWxfY3RybCgpKQoKLS0gCmt2bS1yaXNjdiBtYWlsaW5nIGxp c3QKa3ZtLXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9rdm0tcmlzY3YK From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 43CBC27A904; Tue, 10 Jun 2025 07:09:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.19 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749539362; cv=none; b=lQbz7Ic05cYcEqnQG4JH7pRzItw6qLJm3ElSjXl59EH9M6mqYpZwbi6EJagy6VuAALgNMOwCh1KlDZ0T9CH6ojIzq6oY6qEt1fKF7IlRH0py9N6EjBe448aE0y6z6IODa6XgV2q63On4dYRl8EiQdEmYWr9SLJkhUF8HYFn1PsE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749539362; c=relaxed/simple; bh=rBhGfRjbXGJT1L0cBkib0dMcBkiLujV0EA5TXcGUHJg=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=X3g8L34wUqDDsCO2UzE7xv/88+Y9tqx+fwGKWC8Y7E+kSaernUb+OnTsODDTNzT9eq2BLqmG4SDRJ94Z5S5hth0BbOAn5v7+mXHAbnj8CdHDF9y2ObhHkIcurYgb5haU0FjL/fqQBy5fobSditwJHHvrapQOPSCrzjf/B+FeeFc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=WCWmOjcu; arc=none smtp.client-ip=192.198.163.19 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="WCWmOjcu" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749539360; x=1781075360; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=rBhGfRjbXGJT1L0cBkib0dMcBkiLujV0EA5TXcGUHJg=; b=WCWmOjcuMs4hjWJ9oy1Jdf0fFIA92km3U6hqRkcQe8/Jcg9x2zfzwiGc kXxYqZL1s9Hxr24acQZdStHqZVlMjrzsw5OGUuJGXSKeAu2v4t3kn08t1 jAIyp1bV1f2fKK0j3Wic3r1cS61aOP4Anhhab9SVnUZwOkIrIC27QRSKy 8WKN6cPEjyXcl/tbfH7tDToxr+GJcQK1eSgZz9gftIHOCXWdPO8UrfkXO 1ijo6YDv0/6oEuyzmILUw3vhQRGSvgZEI2+Q0xy+6luiugHUL12Vhsmm/ pwdtheghzrGFcV1HF9QipWjbnOXUYKcldNaFNxpVhlU169uwEP19VrimO A==; X-CSE-ConnectionGUID: m1JYpVqDSHSco6uLZCHCmQ== X-CSE-MsgGUID: 24DOZnKZSAWaVLEgGPOngA== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="50742024" X-IronPort-AV: E=Sophos;i="6.16,224,1744095600"; d="scan'208";a="50742024" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2025 00:09:19 -0700 X-CSE-ConnectionGUID: FTuat8K7SFevwHdRdynsCQ== X-CSE-MsgGUID: 9MkNzKruSzKyGhID0rxevQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,224,1744095600"; d="scan'208";a="147312166" Received: from dapengmi-mobl1.ccr.corp.intel.com (HELO [10.124.245.144]) ([10.124.245.144]) by orviesa007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2025 00:09:17 -0700 Message-ID: Date: Tue, 10 Jun 2025 15:09:13 +0800 Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [kvm-unit-tests PATCH 07/16] x86/pmu: Rename pmu_gp_counter_is_available() to pmu_arch_event_is_available() To: Sean Christopherson , Andrew Jones , Janosch Frank , Claudio Imbrenda , =?UTF-8?Q?Nico_B=C3=B6hr?= , Paolo Bonzini Cc: kvm-riscv@lists.infradead.org, linux-s390@vger.kernel.org, kvm@vger.kernel.org References: <20250529221929.3807680-1-seanjc@google.com> <20250529221929.3807680-8-seanjc@google.com> Content-Language: en-US From: "Mi, Dapeng" In-Reply-To: <20250529221929.3807680-8-seanjc@google.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 5/30/2025 6:19 AM, Sean Christopherson wrote: > Rename pmu_gp_counter_is_available() to pmu_arch_event_is_available() to > reflect what the field and helper actually track. The availablity of > architectural events has nothing to do with the GP counters themselves. > > No functional change intended. > > Signed-off-by: Sean Christopherson > --- > lib/x86/pmu.c | 4 ++-- > lib/x86/pmu.h | 6 +++--- > x86/pmu.c | 6 +++--- > 3 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/lib/x86/pmu.c b/lib/x86/pmu.c > index d06e9455..599168ac 100644 > --- a/lib/x86/pmu.c > +++ b/lib/x86/pmu.c > @@ -21,7 +21,7 @@ void pmu_init(void) > pmu.gp_counter_mask_length = (cpuid_10.a >> 24) & 0xff; > > /* CPUID.0xA.EBX bit is '1' if a counter is NOT available. */ We need to modify the comment as well. > - pmu.gp_counter_available = ~cpuid_10.b; > + pmu.arch_event_available = ~cpuid_10.b; > > if (this_cpu_has(X86_FEATURE_PDCM)) > pmu.perf_cap = rdmsr(MSR_IA32_PERF_CAPABILITIES); > @@ -51,7 +51,7 @@ void pmu_init(void) > } > pmu.gp_counter_width = PMC_DEFAULT_WIDTH; > pmu.gp_counter_mask_length = pmu.nr_gp_counters; > - pmu.gp_counter_available = (1u << pmu.nr_gp_counters) - 1; > + pmu.arch_event_available = (1u << pmu.nr_gp_counters) - 1; "available architectural events" and "available GP counters" are two different things. I know this would be changed in later patch 09/16, but it's really confusing. Could we merge the later patch 09/16 into this patch? > > if (this_cpu_has_perf_global_status()) { > pmu.msr_global_status = MSR_AMD64_PERF_CNTR_GLOBAL_STATUS; > diff --git a/lib/x86/pmu.h b/lib/x86/pmu.h > index f07fbd93..d0ad280a 100644 > --- a/lib/x86/pmu.h > +++ b/lib/x86/pmu.h > @@ -64,7 +64,7 @@ struct pmu_caps { > u8 nr_gp_counters; > u8 gp_counter_width; > u8 gp_counter_mask_length; > - u32 gp_counter_available; > + u32 arch_event_available; > u32 msr_gp_counter_base; > u32 msr_gp_event_select_base; > > @@ -110,9 +110,9 @@ static inline bool this_cpu_has_perf_global_status(void) > return pmu.version > 1; > } > > -static inline bool pmu_gp_counter_is_available(int i) > +static inline bool pmu_arch_event_is_available(int i) > { > - return pmu.gp_counter_available & BIT(i); > + return pmu.arch_event_available & BIT(i); > } > > static inline u64 pmu_lbr_version(void) > diff --git a/x86/pmu.c b/x86/pmu.c > index 8cf26b12..0ce34433 100644 > --- a/x86/pmu.c > +++ b/x86/pmu.c > @@ -436,7 +436,7 @@ static void check_gp_counters(void) > int i; > > for (i = 0; i < gp_events_size; i++) > - if (pmu_gp_counter_is_available(i)) > + if (pmu_arch_event_is_available(i)) > check_gp_counter(&gp_events[i]); > else > printf("GP event '%s' is disabled\n", > @@ -463,7 +463,7 @@ static void check_counters_many(void) > int i, n; > > for (i = 0, n = 0; n < pmu.nr_gp_counters; i++) { > - if (!pmu_gp_counter_is_available(i)) > + if (!pmu_arch_event_is_available(i)) > continue; The intent of check_counters_many() is to verify all available GP and fixed counters can count correctly at the same time. So we should select another available event to verify the counter instead of skipping the counter if an event is not available. Maybe like this. diff --git a/x86/pmu.c b/x86/pmu.c index 63eae3db..013fdfce 100644 --- a/x86/pmu.c +++ b/x86/pmu.c @@ -457,18 +457,34 @@ static void check_fixed_counters(void)         }  } +static struct pmu_event *get_one_event(int idx) +{ +       int i; + +       if (pmu_arch_event_is_available(idx)) +               return &gp_events[idx % gp_events_size]; + +       for (i = 0; i < gp_events_size; i++) { +               if (pmu_arch_event_is_available(i)) +                       return &gp_events[i]; +       } + +       return NULL; +} +  static void check_counters_many(void)  { +       struct pmu_event *evt;         pmu_counter_t cnt[48];         int i, n;         for (i = 0, n = 0; n < pmu.nr_gp_counters; i++) { -               if (!pmu_arch_event_is_available(i)) +               evt = get_one_event(i); +               if (!evt)                         continue;                 cnt[n].ctr = MSR_GP_COUNTERx(n); -               cnt[n].config = EVNTSEL_OS | EVNTSEL_USR | -                       gp_events[i % gp_events_size].unit_sel; +               cnt[n].config = EVNTSEL_OS | EVNTSEL_USR | evt->unit_sel;                 n++;         }         for (i = 0; i < fixed_counters_num; i++) { > > cnt[n].ctr = MSR_GP_COUNTERx(n); > @@ -902,7 +902,7 @@ static void set_ref_cycle_expectations(void) > uint64_t t0, t1, t2, t3; > > /* Bit 2 enumerates the availability of reference cycles events. */ > - if (!pmu.nr_gp_counters || !pmu_gp_counter_is_available(2)) > + if (!pmu.nr_gp_counters || !pmu_arch_event_is_available(2)) > return; > > if (this_cpu_has_perf_global_ctrl())