From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751913AbdEPIep (ORCPT ); Tue, 16 May 2017 04:34:45 -0400 Received: from mail-co1nam03on0050.outbound.protection.outlook.com ([104.47.40.50]:25312 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751234AbdEPIeh (ORCPT ); Tue, 16 May 2017 04:34:37 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=cavium.com; From: Ganapatrao Kulkarni To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Will.Deacon@arm.com, catalin.marinas@arm.com, mark.rutland@arm.com, acme@kernel.org, alexander.shishkin@linux.intel.com, peterz@infradead.org, mingo@redhat.com, jnair@caviumnetworks.com, gpkulkarni@gmail.com Subject: [PATCH v3 1/4] perf utils: passing pmu as a parameter to function get_cpuid_str Date: Tue, 16 May 2017 14:03:36 +0530 Message-Id: <1494923619-18687-2-git-send-email-ganapatrao.kulkarni@cavium.com> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1494923619-18687-1-git-send-email-ganapatrao.kulkarni@cavium.com> References: <1494923619-18687-1-git-send-email-ganapatrao.kulkarni@cavium.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: BMXPR01CA0025.INDPRD01.PROD.OUTLOOK.COM (10.174.214.11) To CY1PR0701MB1695.namprd07.prod.outlook.com (10.163.20.29) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 69809908-f728-4557-06ae-08d49c3661a9 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:CY1PR0701MB1695; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1695;3:uL2wQtpLwHa8yOPhanjvrCWIlGAY2u/NTmUPHr6EicJSnyQD9hFm6X9c8W7g1SizYthlo147wGR0jQbUekElZwoUpojLnIUKahZLUNp+VyvT9jHb4AVScdpcbKP5sj7+NVR58yVN1QbBy+QOHx4qskiQFgRx8+P1o2Bx5NffTEwzrDiJOhSISmchNYSaZ07dM1bvQasFe0qLjZbMs5RigUWDvAlZR5XFIhh/otfAi5lAYbt+h4FKjMAfFblxEmH3k+a1RWj0gbwSuzwA1ySec/5pnlb7TqfwZRCAY3KJG+420MRq9nqXN7tu1U5tYLPEw7JaN1kYx8H1kL6ZsM0bUA==;25:JBZdb+qdljZEX3v4lqE0pBGnBBggaeOc1FDuqVRvgXtD2V5pVg1jaAOaNWNDWy2RZ7iswKOj1A61EK2pycAmhPyEtB8Kw8XPtSfdYddMr+nUc76N1uWR/wBkQaEoa7yKgNjhwB9uu6FmoCYQbK/ZYMBlJq8xBNRqnl1cM6OF8KDmx7TvL7NknY3HnQapQKQXB1rmz187eNpqm6szh7idduRF25qe6F4UYRrdQqsCObs+iO66ZHGp0nI4XtdWXtqWv4aJ2cbk6JvV88vXCJ3+L7ktZ/PZD5lPKHNaBQwYNs2dRxkHFF+eGCXJpeZRqevRl/rs+ktzvrid4byHyXnCkB9pWgRERj0NR2C0Mc7iBEJ2nshtCO2Xbsn9B1ILAWosRUKvenn2adrQ3eoNKmtwKEbwKvUbMHjMxARoeshKrruC/xD/40i8Ldsn0RdFwe4nSWB+MKoDhGxZZ3ADmZAtIna+HcV7Q0Nx/Q6p9gtkF2Q= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1695;31:lrdu1IZsOU8LX1uaWwyBaKiuWvXMZwGsiWRBPe3FW4c9mtRQOZ2vEDcy/YXuEj/vBI7V8L7VHKvlRllLqahlgM8xLYZj3iHBMOay/RVuvs5jB9ObAqRpLgyF2g9h+TGrRzFh+t5ej0mDzHSxFxu9lAptUu1RRxQVjBpWtVapsfGmhGdN6u6dfqnNyzfcrRaHQi3M/VGu3m1vbEcAdWpM4Gfe0nBVy7GIpyV6eDGbDQE=;20:4l610krDSatkpmRjgstFviewxgsp69imlWA12PfzqUr4ts+JAOe3DKgNl1uwoYXQFQRc/kDpvSoEMuXfwhphN/7mgiYyArVcFELAP30M21/mMzEzCzVNN8LSB0nu8WYEBf8SAWisfBrcYUYZ6JqO6bqkbV1nbH9VzwaiXt/tZXsvqhI3B9h8hXChySrFkNUcgtCJnNqDVH8DbnZTHvxE3OXR/2DSogBQWmrs2L/DS2BwCeuPWCM0BBUiF9qRvTwm59KODRw6+cizNggwt3Y3sdqeXY+qteKUkRmkDbMVkU9ZkVAZoilZ0G2k3XfuaSE6aS6pijvw/RTr22SNn2s04aqT0+bTbuiuIxn+FGWiFhsh+OYINJo4mCZyvh5Tf/o8A4R54HA0qLxesIE2oZuAVXu0xu3PZOQ79F1U7C//Q+H/i8nfLuUk9M5WROHzVVPXZBDaqBuie0YYjJ7MwcADxQ4OU7sm44dJPm/9zCy9kuTtsjAfyrFTNQeJVwjchRuF X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(6041248)(20161123564025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123558100)(20161123555025)(6072148);SRVR:CY1PR0701MB1695;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0701MB1695; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1695;4:382/iywKPGx6ayqqy4jFFlAX8+PP+m6O/cVykJ9ACzss1BVTU/PP7Fkas7sQosUot8Uqvjw2FFtuHECB0JMklP3ZJToBfBt/0SZkRKcz/bu0l6AqvKNuzyg9Vemu9V6QzW/PtQL+LshiMqzs9fv6Om/XfwKAAF4WbuQ9FGHpFS+6hZpcZIII6o0GJUUTRx496L3eX1ZreKB3T5ikHyEDDXO61xatVnT4QGu0aFySALZLivbM6wXSY01bkl3omMNvWXAXMCkPU7XRVSzbhSkRipiHFpUYZOU7JnpshgI/+uwAu3acrkC5Tt3FK8h6+JS+PS5J0fy7uo951XjN4Qf8vKh+k9DBcCEredtKWziKphFs72rThDalhRejxXwTl6yFsOzEknMDx1BuK5tqIs0lAR8cpGRdg+4M0Ebv7hmm1aP8h/GGI9fK51lLB7iGfyhLW+DsJov8VcAPEUo3+VEsx+mVETRNvzJMHtOowKcNqqSwpmO/dtvPxXf3885QMsV/pNnNy3Eq1KCjvoeKqMdx2zNJcn3Hs5Z/Kiw/zf8hXXpWhEOmZ8YiJA73CsrqAWMRVI9FjaDqsQDYyKpynsj4x2kgg37kWzvZt54ePoZbCGXPfWS3+B0hpZnZMej+m8t9ld3fdYWqqu0Z1H4yYBFpizq/sbK/xmXDNSIYT/PFabbFgKf3Y35VIY1t4GPNHsrvShM3OQqduqLrlC9OSL5mskVeJe0oUJIzdtwpT0fblXzGbgpR884X85Oj3bFj5hvZTaUca5iUe9aKlmGG/ll+yj3oDb2Mr/Kb6o3UM0dIwnc= X-Forefront-PRVS: 03094A4065 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(39450400003)(39850400002)(39400400002)(39410400002)(5003940100001)(50986999)(6486002)(81166006)(76176999)(8676002)(38730400002)(110136004)(478600001)(33646002)(4720700003)(6506006)(6512007)(72206003)(42186005)(36756003)(66066001)(50466002)(25786009)(5660300001)(305945005)(7416002)(2906002)(53936002)(189998001)(48376002)(86362001)(5009440100003)(47776003)(3846002)(6116002)(7736002)(4326008)(2950100002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR0701MB1695;H:mypc.cavium.com.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR0701MB1695;23:j+NYyqUULMYkop5kiX93LnKtZEyALFqQMKbhJ43?= =?us-ascii?Q?dYEr415sLLrbvE9hwoVBtbNil03FSXajrT9d+emG+5RHw6P7YVU0U00SSX+t?= =?us-ascii?Q?NZXeSStt0ACfLWyH4q/E8j9Fvn5a2xkRjR6F0YrlFQWhEqmLFEOM016yrtNa?= =?us-ascii?Q?saJGWXNp3hjG2jYAeiFHw1AztA28rmty5ReZNn+iLiz3X9SQvL3pC3rn7Uf4?= =?us-ascii?Q?7DA1hnQUpxlTT+j2ZODqXSaZU/uJUp6MTHKYL4pT7AgXzOYMfh1KFB6gqg+j?= =?us-ascii?Q?q9fg2saYdcBkIjehPrPFdPkxf5ONhm5zi4s6XUJoe59gTTMPf70YEmMwc+sx?= =?us-ascii?Q?We4bpV+o1gneUoAeuudnwZEkfrMvNJerlCGtxNS9v0CeJ+C5eMKQEVVxWp+D?= =?us-ascii?Q?LqMwwDIb3NZJPPwH9My37u5RnRjunp0Di8x8qybPXGNS0jfD3NSJwryhFEt/?= =?us-ascii?Q?ZFRWl7ag2VVrB8jjc40fMwClAJ5EQGgeofKUOCCxyhb2oRa0gG+Tzka58OOh?= =?us-ascii?Q?f5IU3lNxnJCptraMYnGPx6DVS/Rsm63P6tuGBj6UhGW/lhRWk+DcSgTAEQNW?= =?us-ascii?Q?enu3HetsvG/XpsgPAydHc4Bts9SU7updU3cCvY42kPKCUzPvwXz6vVX6mu3R?= =?us-ascii?Q?uFEwKfNg9ShtNoKlc1QhAIubV7ArwbtLQQICqkJ1ot5wem+082Sh5+Pxu+nr?= =?us-ascii?Q?Wst/Nh3V52mFmrkC5HRuURKQp7PT7NLSGyEXjnXskUuSq8TP4VBgUp87oFoj?= =?us-ascii?Q?YWwXL0mdH8mCx0aPmjLU6s+Gq2CPLh1425ta867g/1w0b3faREw4JACEf3TW?= =?us-ascii?Q?RTu2TpqNUQx5/vDXjwtShLG9DtQShkp8m4qKLIFf2voS6E5ZuQ1Q5zG0nWJk?= =?us-ascii?Q?lp2jIRDEn+p3sZYffIgriBVC4nRwVjJ2xDuy14CF2cY5UPE6vIExtQK7RYxF?= =?us-ascii?Q?o1SdZDGTNlRHZ9Pps1+5ntEWmk65Gi+ijjbDBNcfsoUDDUABjLaxJB0DbYwm?= =?us-ascii?Q?sZVfRQQQVugvw3C1KpzKg8bLRO1iaMTAHvy5qwSTnQR3ndg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1695;6:Gg8aEnDzVpYRcNy+D10jAGHv4ClycJ3n4ywTPoHJCPnsG0qg9EhZL0g/s0gWMay2mDw83lMxHbws3PpkcAU4gGj0tMZURfxnwHZ6p2C3q1pC6dja5/PQHUcC+5ItAHgGOhHeodExl1zmS007byqzmMiiqllCdl74iqeu2YZjdXwpgowCWaCAeX18jp6240lFFqHGfIEOatLCWOhFdaKXhQOl1UT4WgWW32ASXW/o+nalQW8qYvR83DxFTOAOeQe9wtBfsYf3y2fAs8eLmNHQ38ml88t6TSKkiaBF52oPpJJkgkgb0GcRxE13K5w+mjfoF4emcuIWD92ogxXjZR3yHwwghbEg796wlWBevKTtInyne0ge1AKMwH+4htlXX4SYmLZ9sWDg1DqyWUr2qP1EVOVLZ2jV5Wf7BG/qblVu+A/rWlQY+2k6zXleoCDVbsSJBUY4T5AY3Bof631vpH2kO1Mn7SDZ0si9wLYHY5IRzt4impPQ8MaeI9tr/Ysz7ivOwXfngiwOcD1a0kZaBirSvQ==;5:GZ7kY5AhTnBTPmc72G5hkrCp0Hb4V5+AsoRHe2pYCJgsU+Z7I9gTGqLXIEoq7C3+Q1Hpg9/7egGYjILTiZYU5/pWsBjvNPcBDXgbGro0qXeCs1G3+D/kF+hJtr9n/RzYeiZN697OMGupHJb+DZzG4A==;24:bXfSzho6ZE+Qkn6hOTAzzjCwWf4xFiUfFoD8k0HSq7idQ/Acq/EGRBYxAWi7B5OC69YhEboanMQQTGGVy+swW2ImJV2nS3X6lfB+WGdBh/4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1695;7:DUi8wja1D87sevpYMFhElcLaoAj0S/iQp7TDDjOKjkIQ6WeeRfFd3fqhde6xCooffELtHeutfdJF5mNbDBcLZ6Um5hGz39LQEZrVolY+ZJz0HMwMTHe/LH6g6RaYgiS5rwQlGItuN7LPsXHr0vEARX/lEJCYmVTpkOAYtMvXvV6+02UsXXYd3fW3aAmHLZHkiE5TfYUMiSvBAvVncx7AT8AwlbiL2YYh0Uyl9z+nPnZEkhuwd4+2rnqlP6+iWfLqbf21+Xi5IrGYX8VeQgfyyM94v+6dOdF8sQrJwFADHbvJnDZl9IlF+hZMi8bGa9oD0bEqXseyV/f9TXrdqoZ0Rw== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 May 2017 08:34:30.6524 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1695 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org cpuid string will not be same on all CPUs on heterogeneous platforms like ARM's big.LITTLE, adding provision(using pmu->cpus) to find cpuid string from associated CPUs of PMU CORE device. Signed-off-by: Ganapatrao Kulkarni --- tools/perf/arch/powerpc/util/header.c | 2 +- tools/perf/arch/x86/util/header.c | 2 +- tools/perf/util/header.h | 3 ++- tools/perf/util/pmu.c | 9 +++++---- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/tools/perf/arch/powerpc/util/header.c b/tools/perf/arch/powerpc/util/header.c index 9aaa6f5..2953681 100644 --- a/tools/perf/arch/powerpc/util/header.c +++ b/tools/perf/arch/powerpc/util/header.c @@ -34,7 +34,7 @@ } char * -get_cpuid_str(void) +get_cpuid_str(struct perf_pmu *pmu __maybe_unused) { char *bufp; diff --git a/tools/perf/arch/x86/util/header.c b/tools/perf/arch/x86/util/header.c index a74a48d..d52bc27 100644 --- a/tools/perf/arch/x86/util/header.c +++ b/tools/perf/arch/x86/util/header.c @@ -65,7 +65,7 @@ } char * -get_cpuid_str(void) +get_cpuid_str(struct perf_pmu *pmu __maybe_unused) { char *buf = malloc(128); diff --git a/tools/perf/util/header.h b/tools/perf/util/header.h index d30109b..05e5758 100644 --- a/tools/perf/util/header.h +++ b/tools/perf/util/header.h @@ -8,6 +8,7 @@ #include #include "event.h" #include "env.h" +#include "pmu.h" enum { HEADER_RESERVED = 0, /* always cleared */ @@ -151,5 +152,5 @@ int perf_event__process_build_id(struct perf_tool *tool, */ int get_cpuid(char *buffer, size_t sz); -char *get_cpuid_str(void); +char *get_cpuid_str(struct perf_pmu *pmu __maybe_unused); #endif /* __PERF_HEADER_H */ diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c index ac16a9d..aefdbd1 100644 --- a/tools/perf/util/pmu.c +++ b/tools/perf/util/pmu.c @@ -511,7 +511,7 @@ static struct cpu_map *pmu_cpumask(const char *name) * Each architecture should provide a more precise id string that * can be use to match the architecture's "mapfile". */ -char * __weak get_cpuid_str(void) +char * __weak get_cpuid_str(struct perf_pmu *pmu __maybe_unused) { return NULL; } @@ -521,7 +521,8 @@ char * __weak get_cpuid_str(void) * to the current running CPU. Then, add all PMU events from that table * as aliases. */ -static void pmu_add_cpu_aliases(struct list_head *head, const char *name) +static void pmu_add_cpu_aliases(struct list_head *head, const char *name, + struct perf_pmu *pmu) { int i; struct pmu_events_map *map; @@ -533,7 +534,7 @@ static void pmu_add_cpu_aliases(struct list_head *head, const char *name) if (cpuid) cpuid = strdup(cpuid); if (!cpuid) - cpuid = get_cpuid_str(); + cpuid = get_cpuid_str(pmu); if (!cpuid) return; @@ -610,12 +611,12 @@ static struct perf_pmu *pmu_lookup(const char *name) if (pmu_aliases(name, &aliases)) return NULL; - pmu_add_cpu_aliases(&aliases, name); pmu = zalloc(sizeof(*pmu)); if (!pmu) return NULL; pmu->cpus = pmu_cpumask(name); + pmu_add_cpu_aliases(&aliases, name, pmu); INIT_LIST_HEAD(&pmu->format); INIT_LIST_HEAD(&pmu->aliases); -- 1.8.1.4