Received: by 10.192.165.148 with SMTP id m20csp893123imm; Wed, 25 Apr 2018 09:13:31 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/Qtd+zawBkQU2kYyjyBNfxx5wnxMJ9nYO9Y1KoNv12VywI+8Oi2UO9tOIfNNwn5BiJ5123 X-Received: by 10.98.100.11 with SMTP id y11mr25242445pfb.118.1524672811332; Wed, 25 Apr 2018 09:13:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524672811; cv=none; d=google.com; s=arc-20160816; b=AU+vTj2+xSPaFHFNOIO3XojCTSldHGjkH7WHFQXuM4qnXU1YUAsi/tGSRnVI6OlH5X PoaMpwF9UOANcpH+WcWCGK+D7cBTeaiQBiCMsTrJ8dDyqwlv/JK6s14lMaVAAJADi81e c/7OLcH4IwKoO0NLtKMyt6c4oSRqq9+lz9UdHCSe4e57GrJyx6ewQ7vtkzBt0eo04vDB Vnl6cE97BD9HwsJi0I9AblMzaxNZrSmI1LyfAS1BT91fNNF3gWT6yw6XMarffx7VMGKH Nd7aKMcDPLXM5O2jyWLH+BgKB+/FfjnUEtQkOBwEH2digidr94a5bbhvgSXkEV+tlijR 125w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dmarc-filter:arc-authentication-results; bh=/JIimn3SuTLRoqRuVQwNpW5UXIRy07bimvPeOekN12s=; b=NIFKvagDxkO3ZKvRLk3OrAArDT55+JwtBb8uOeZFfe13PWXsMKTwot6JnPWmp9pqHj vhu8ZcFm5c4dtVzjir3DIqtkkY15rjfhJk1W3+Fu2Y+0XMvydBekDcKARxl4De0qJ/Y9 mPn0qAhOilO/gP6Od63OXYZdRmYx6juRfn5439WGHKEg5PAHtnnawk4bO2oMv15i5/sq +aUDTTKW6TcLQwcWy8+6t164HZ2QrK6/rKVZMsF1xFUi3zBNKpG7jiUNfzr5y+6oL0uj kVHiuVW9sMcupeNqZ0GbxPf4BynuIshJSRib/kXtn70GghZjXdXdYPvSKTcslBx6s4cQ I+lw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m11-v6si12840454pln.247.2018.04.25.09.12.55; Wed, 25 Apr 2018 09:13:31 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932092AbeDYQD7 (ORCPT + 99 others); Wed, 25 Apr 2018 12:03:59 -0400 Received: from mail.kernel.org ([198.145.29.99]:46906 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755445AbeDYQAZ (ORCPT ); Wed, 25 Apr 2018 12:00:25 -0400 Received: from jouet.infradead.org (unknown [179.97.41.186]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 821E121789; Wed, 25 Apr 2018 16:00:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 821E121789 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=acme@kernel.org From: Arnaldo Carvalho de Melo To: Ingo Molnar Cc: Clark Williams , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Thomas Richter , Heiko Carstens , Martin Schwidefsky , Arnaldo Carvalho de Melo Subject: [PATCH 02/12] perf list: Remove s390 specific strcmp_cpuid_cmp function Date: Wed, 25 Apr 2018 12:59:58 -0300 Message-Id: <20180425160008.3407-3-acme@kernel.org> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180425160008.3407-1-acme@kernel.org> References: <20180425160008.3407-1-acme@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Thomas Richter Make the type field in pmu-events/arch/s390/mapfile.cvs more generic to match the created cpuid string for s390. The pattern also checks for the counter first version number and counter second version number ([13]\.[1-5]) and the authorization field which follows. These numbers do not exist in the cpuid identification string when perf commands are executed on a z/VM environment (which does not support CPU counter measurement facility). CPUID string for LPAR: cpuid : IBM,3906,704,M03,3.5,002f CPUID string for z/VM: cpuid : IBM,2964,702,N96 This allows the removal of s390 specific cpuid compare code and uses the common compare function with its regular expression matching algorithm. Signed-off-by: Thomas Richter Reviewed-by: Hendrik Brueckner Cc: Heiko Carstens Cc: Martin Schwidefsky Link: http://lkml.kernel.org/r/20180423081745.3672-1-tmricht@linux.ibm.com Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/arch/s390/util/header.c | 18 ------------------ tools/perf/pmu-events/arch/s390/mapfile.csv | 10 +++++----- tools/perf/util/pmu.c | 2 +- 3 files changed, 6 insertions(+), 24 deletions(-) diff --git a/tools/perf/arch/s390/util/header.c b/tools/perf/arch/s390/util/header.c index a4c30f1c70be..163b92f33998 100644 --- a/tools/perf/arch/s390/util/header.c +++ b/tools/perf/arch/s390/util/header.c @@ -146,21 +146,3 @@ char *get_cpuid_str(struct perf_pmu *pmu __maybe_unused) zfree(&buf); return buf; } - -/* - * Compare the cpuid string returned by get_cpuid() function - * with the name generated by the jevents file read from - * pmu-events/arch/s390/mapfile.csv. - * - * Parameter mapcpuid is the cpuid as stored in the - * pmu-events/arch/s390/mapfile.csv. This is just the type number. - * Parameter cpuid is the cpuid returned by function get_cpuid(). - */ -int strcmp_cpuid_str(const char *mapcpuid, const char *cpuid) -{ - char *cp = strchr(cpuid, ','); - - if (cp == NULL) - return -1; - return strncmp(cp + 1, mapcpuid, strlen(mapcpuid)); -} diff --git a/tools/perf/pmu-events/arch/s390/mapfile.csv b/tools/perf/pmu-events/arch/s390/mapfile.csv index ca7682748a4b..78bcf7f8e206 100644 --- a/tools/perf/pmu-events/arch/s390/mapfile.csv +++ b/tools/perf/pmu-events/arch/s390/mapfile.csv @@ -1,6 +1,6 @@ Family-model,Version,Filename,EventType -209[78],1,cf_z10,core -281[78],1,cf_z196,core -282[78],1,cf_zec12,core -296[45],1,cf_z13,core -3906,3,cf_z14,core +^IBM.209[78].*[13]\.[1-5].[[:xdigit:]]+$,1,cf_z10,core +^IBM.281[78].*[13]\.[1-5].[[:xdigit:]]+$,1,cf_z196,core +^IBM.282[78].*[13]\.[1-5].[[:xdigit:]]+$,1,cf_zec12,core +^IBM.296[45].*[13]\.[1-5].[[:xdigit:]]+$,1,cf_z13,core +^IBM.390[67].*[13]\.[1-5].[[:xdigit:]]+$,3,cf_z14,core diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c index 61a5e5027338..af4bedf4cf98 100644 --- a/tools/perf/util/pmu.c +++ b/tools/perf/util/pmu.c @@ -586,7 +586,7 @@ char * __weak get_cpuid_str(struct perf_pmu *pmu __maybe_unused) * cpuid string generated on this platform. * Otherwise return non-zero. */ -int __weak strcmp_cpuid_str(const char *mapcpuid, const char *cpuid) +int strcmp_cpuid_str(const char *mapcpuid, const char *cpuid) { regex_t re; regmatch_t pmatch[1]; -- 2.14.3