From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-1451573-1517181358-2-18278114504812959541 X-Sieve: CMU Sieve 3.0 X-Spam-known-sender: no X-Spam-score: 0.0 X-Spam-hits: BAYES_00 -1.9, HEADER_FROM_DIFFERENT_DOMAINS 0.001, RCVD_IN_DNSWL_HI -5, T_RP_MATCHES_RCVD -0.01, LANGUAGES en, BAYES_USED global, SA_VERSION 3.4.0 X-Spam-source: IP='209.132.180.67', Host='vger.kernel.org', Country='US', FromHeader='com', MailFrom='org', XOriginatingCountry='US' X-Spam-charsets: plain='iso-8859-1' X-Resolved-to: greg@kroah.com X-Delivered-to: greg@kroah.com X-Mail-from: stable-owner@vger.kernel.org ARC-Seal: i=1; a=rsa-sha256; cv=none; d=messagingengine.com; s=arctest; t=1517181357; b=MRK9TnIE/9gU2HsAgV4/dGktX1x+83er//GRTN2IJiB0Tfj Iashu5o4e1aHflfmBnX4yhjQzIAe0mhULUAhcwDIhP0cFWMLEqEJU4ysFVQ+7980 5R7+mdLauA6NBJrx/bimXYeKY8XecupVpieWjDgPi/xCzakOaA2tCfFnN6iFPW6F gRmi/f1HtZoe5JS5kKWGv2d2EU/WLtb3U5C66d7+5guFHp5T6hsTwi+/f5qwbtx5 gUtki/jO8xzCZh8C6J1HLqwJi0GfzelgpsfJsoxZXWyk7yrQ10l/577oXcuxlIDR zyxGc+bsGF65qYfMkB0yT/1euSsmyf+RIA7keag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=from:to:cc:subject:date:message-id :references:in-reply-to:content-type:content-transfer-encoding :mime-version:sender:list-id; s=arctest; t=1517181357; bh=8XFVRj 1nwNOpbGP6HwBL4t0KvtIt9Daf3scbCUh/ns8=; b=w6hfdoWSl0Wz/anYmSSfc7 4n1hvx3Mn9bwPAjo/L369SrGqTayUVi2hvfELyCMBkKcRCmZOZfwivwzsdrOiMJU nDyxDhtnyUVQJ0b1qox0Gkn+rySOHGe0ThelFQ8tnGfhZt4szFUvwYvp8ojcoT0c s2B66AG1LbIiy1/UpaWBwZ83e6qnKyeI3ix1exVDlFYLRZGoYP4ILE0RO9qKGoeI hHZ8/Wjv5bEo4XOz3aUuDuh4WzXci1KqliSLRcGFyLKC4NWjbg/m6os0eXz/4Z1J 91O2uHxXjcdT2gGteHgR/8lu5ost5+QAHmSgTgocVBYtDAq1PNKiKIQSvaD9+qvQ == ARC-Authentication-Results: i=1; mx5.messagingengine.com; arc=none (no signatures found); dkim=pass (1024-bit rsa key sha256) header.d=microsoft.com header.i=@microsoft.com header.b=oBK61zb8 x-bits=1024 x-keytype=rsa x-algorithm=sha256 x-selector=selector1; dmarc=pass (p=reject,has-list-id=yes,d=none) header.from=microsoft.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=stable-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=microsoft.com header.result=pass header_is_org_domain=yes Authentication-Results: mx5.messagingengine.com; arc=none (no signatures found); dkim=pass (1024-bit rsa key sha256) header.d=microsoft.com header.i=@microsoft.com header.b=oBK61zb8 x-bits=1024 x-keytype=rsa x-algorithm=sha256 x-selector=selector1; dmarc=pass (p=reject,has-list-id=yes,d=none) header.from=microsoft.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=stable-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=microsoft.com header.result=pass header_is_org_domain=yes Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752111AbeA1XPy (ORCPT ); Sun, 28 Jan 2018 18:15:54 -0500 Received: from mail-bn3nam01on0107.outbound.protection.outlook.com ([104.47.33.107]:56768 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752016AbeA1W0N (ORCPT ); Sun, 28 Jan 2018 17:26:13 -0500 From: Sasha Levin To: "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" CC: Andi Kleen , Arnaldo Carvalho de Melo , Sasha Levin Subject: [PATCH AUTOSEL for 4.14 010/100] perf record: Fix -c/-F options for cpu event aliases Thread-Topic: [PATCH AUTOSEL for 4.14 010/100] perf record: Fix -c/-F options for cpu event aliases Thread-Index: AQHTmIb6K1m/XbWgakGN67SI1n0+cg== Date: Sun, 28 Jan 2018 22:26:02 +0000 Message-ID: <20180128222547.7398-10-alexander.levin@microsoft.com> References: <20180128222547.7398-1-alexander.levin@microsoft.com> In-Reply-To: <20180128222547.7398-1-alexander.levin@microsoft.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [52.168.54.252] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;MW2PR2101MB1098;6:pUirqv8fj1OTxLvAhsvD/LlTiB9iLPVUbQhW/WvWww9P0pieAZAQxmiTKYIOF14JHJO3ihEeEpRe6tm55rhyxbIpRhXTD6HVCGJ9bLvEKRPO3G/VgZ20oWjVc5oeclvevns1fi8vx+9dZj4Dq7JXYAX7A2ONw3snI1UOFgi5r9aM6diXXyfTAW2PJt0xEbBkHj99D532AdJqDliMTjfufx2Dqg073JGMJy3ccGY276tqeloBYNCKAU0pc/xvwyteTIO+PpOdgsVA2A+ggIeH/8GeQs6z1TVsdys1kEIUtFTG77ECdsh6mpqgHa9xG/Jm9cgxYmQCU4Ips7uQlPdoQ6LZjdgJQ9TC8a8uqRT5yfEvcKVNzCfBNhx1KerAMLSO;5:qJla14fLt02MQ4qP3cy31Cw4+HGqbkY9IAXUjXAi8LM3FulI2YwjzZv1VUK8ssJc1AgwkjqQuiq/QAupnvCooJDwNQ83pa6xk+PqRM8XBaJFfTInOukg3tewFwbR8DSij8G7jcPdYv3glhnfEXp1H1OCPEqeJOpqmwX0RJ2X8mo=;24:vQ+/R9NGC4O0Honis9P1D93J5XPRs8PaK8hkdwe/Lrw3a99cIts1BPulbuwQhXo30n927NDDRVcEmsnBXOtS9la6S3u9gR/BCzbbWrjT05o=;7:zJHHs3c+Y9CtSNbozfibat3nlXog6GEOMKH2fFrd2TjpFKuefpxctTOVHdq9Lar7zNhrgsuKfOjX6zxwvKi4sA0F/k/d5FyW0ncRE5sD/Os6TVFU1DDZd7Sar/IpXaOQwNJZxINFd7qwqZmMtmWB2h/8CMzl9jg11d5UjuF1UfaQUdhOmI1hJxUU3cuOtRw2l4upheO/3vd1hZ98HWHkhjBGqso0o6U3iufrjI8oh+moJl245ZFgX1xOGVTir+mR x-ms-exchange-antispam-srfa-diagnostics: SSOS;SSOR; x-forefront-antispam-report: SFV:SKI;SCL:-1;SFV:NSPM;SFS:(10019020)(366004)(346002)(376002)(396003)(39860400002)(39380400002)(51444003)(189003)(199004)(54906003)(7736002)(66066001)(305945005)(316002)(72206003)(106356001)(2950100002)(966005)(478600001)(10290500003)(6506007)(97736004)(2906002)(105586002)(25786009)(107886003)(5250100002)(8676002)(110136005)(14454004)(5660300001)(2501003)(22452003)(2900100001)(81156014)(68736007)(6306002)(6436002)(8936002)(53936002)(10090500001)(81166006)(99286004)(102836004)(3660700001)(36756003)(3280700002)(86612001)(575784001)(3846002)(6116002)(86362001)(1076002)(4326008)(26005)(76176011)(6512007)(6486002)(186003)(22906009)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:MW2PR2101MB1098;H:MW2PR2101MB1034.namprd21.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 25dd80bd-55d3-4207-8df7-08d5669e1e2a x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(3008032)(2017052603307)(7193020);SRVR:MW2PR2101MB1098; x-ms-traffictypediagnostic: MW2PR2101MB1098: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alexander.Levin@microsoft.com; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(28532068793085)(89211679590171)(42068640409301)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(61425038)(6040501)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(10201501046)(3231101)(944501161)(6055026)(61426038)(61427038)(6041288)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123558120)(20161123562045)(20161123560045)(6072148)(201708071742011);SRVR:MW2PR2101MB1098;BCL:0;PCL:0;RULEID:;SRVR:MW2PR2101MB1098; x-forefront-prvs: 05669A7924 x-microsoft-antispam-message-info: y0/faD5Mau9jsYYIYbZ5VJDIEDsQS9bkh6+oGae/MdtbjS7UL3+03NKj1190rYfnE3g8vc0M1ymSyRdcaQH9NQ== spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: 25dd80bd-55d3-4207-8df7-08d5669e1e2a X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jan 2018 22:26:02.0380 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR2101MB1098 Sender: stable-owner@vger.kernel.org X-Mailing-List: stable@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-Mailing-List: linux-kernel@vger.kernel.org List-ID: From: Andi Kleen [ Upstream commit 59622fd496a3175c7bf549046e091d81c303ecff ] The Intel PMU event aliases have a implicit period=3D specifier to set the default period. Unfortunately this breaks overriding these periods with -c or -F, because the alias terms look like they are user specified to the internal parser, and user specified event qualifiers override the command line options. Track that they are coming from aliases by adding a "weak" state to the term. Any weak terms don't override command line options. I only did it for -c/-F for now, I think that's the only case that's broken currently. Before: $ perf record -c 1000 -vv -e uops_issued.any ... { sample_period, sample_freq } 2000003 After: $ perf record -c 1000 -vv -e uops_issued.any ... { sample_period, sample_freq } 1000 Signed-off-by: Andi Kleen Acked-by: Jiri Olsa Link: http://lkml.kernel.org/r/20171020202755.21410-2-andi@firstfloor.org Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Sasha Levin --- tools/perf/util/evsel.c | 12 ++++++++---- tools/perf/util/evsel.h | 1 + tools/perf/util/parse-events.c | 2 ++ tools/perf/util/parse-events.h | 3 +++ tools/perf/util/pmu.c | 5 +++++ 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c index 0dccdb89572c..1f6beb3d0c68 100644 --- a/tools/perf/util/evsel.c +++ b/tools/perf/util/evsel.c @@ -733,12 +733,16 @@ static void apply_config_terms(struct perf_evsel *evs= el, list_for_each_entry(term, config_terms, list) { switch (term->type) { case PERF_EVSEL__CONFIG_TERM_PERIOD: - attr->sample_period =3D term->val.period; - attr->freq =3D 0; + if (!(term->weak && opts->user_interval !=3D ULLONG_MAX)) { + attr->sample_period =3D term->val.period; + attr->freq =3D 0; + } break; case PERF_EVSEL__CONFIG_TERM_FREQ: - attr->sample_freq =3D term->val.freq; - attr->freq =3D 1; + if (!(term->weak && opts->user_freq !=3D UINT_MAX)) { + attr->sample_freq =3D term->val.freq; + attr->freq =3D 1; + } break; case PERF_EVSEL__CONFIG_TERM_TIME: if (term->val.time) diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h index b4df79d72329..3ed0e9b42378 100644 --- a/tools/perf/util/evsel.h +++ b/tools/perf/util/evsel.h @@ -67,6 +67,7 @@ struct perf_evsel_config_term { bool overwrite; char *branch; } val; + bool weak; }; =20 /** struct perf_evsel - event selector diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.= c index 56694e3409ea..b25635e945f3 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c @@ -1115,6 +1115,7 @@ do { \ INIT_LIST_HEAD(&__t->list); \ __t->type =3D PERF_EVSEL__CONFIG_TERM_ ## __type; \ __t->val.__name =3D __val; \ + __t->weak =3D term->weak; \ list_add_tail(&__t->list, head_terms); \ } while (0) =20 @@ -2395,6 +2396,7 @@ static int new_term(struct parse_events_term **_term, =20 *term =3D *temp; INIT_LIST_HEAD(&term->list); + term->weak =3D false; =20 switch (term->type_val) { case PARSE_EVENTS__TERM_TYPE_NUM: diff --git a/tools/perf/util/parse-events.h b/tools/perf/util/parse-events.= h index eed50b54bab3..458b72225a0a 100644 --- a/tools/perf/util/parse-events.h +++ b/tools/perf/util/parse-events.h @@ -101,6 +101,9 @@ struct parse_events_term { /* error string indexes for within parsed string */ int err_term; int err_val; + + /* Coming from implicit alias */ + bool weak; }; =20 struct parse_events_error { diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c index b10b35a63138..9dff41bcc776 100644 --- a/tools/perf/util/pmu.c +++ b/tools/perf/util/pmu.c @@ -404,6 +404,11 @@ static int pmu_alias_terms(struct perf_pmu_alias *alia= s, parse_events_terms__purge(&list); return ret; } + /* + * Weak terms don't override command line options, + * which we don't want for implicit terms in aliases. + */ + cloned->weak =3D true; list_add_tail(&cloned->list, &list); } list_splice(&list, terms); --=20 2.11.0