From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751417AbdA1CED (ORCPT ); Fri, 27 Jan 2017 21:04:03 -0500 Received: from mga01.intel.com ([192.55.52.88]:57203 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751368AbdA1CDy (ORCPT ); Fri, 27 Jan 2017 21:03:54 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,298,1477983600"; d="scan'208";a="53154489" From: Andi Kleen To: acme@kernel.org Cc: jolsa@kernel.org, linux-kernel@vger.kernel.org Subject: Support Intel uncore event lists Date: Fri, 27 Jan 2017 18:03:35 -0800 Message-Id: <20170128020345.19007-1-andi@firstfloor.org> X-Mailer: git-send-email 2.9.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This adds uncore support on top of the recently merged JSON event list infrastructure for core events. Uncore is everything outside the core, including memory controllers, PCI, interconnect etc. Uncore is more complicated to handle than core events because it uses many duplicated PMUs, which leads to long event lists and verbose duplicated outputs. In fact previously it was nearly unusable for many cases without special tools to generate event list and aggregate data (such as https://github.com/andikleen/pmu-tools/tree/master/ucevent) With this patchkit we add: - Basic support for uncore events in JSON events - Support aliases that get duplicated over many PMUs transparently - Support summing up duplicated PMUs per socket - Support extending the perf stat builtin metrics with simple expressions specified in the event list. So far mainly servers are supported. Also this is not using full event lists (which are full of very obscure events) but only for a smaller subset of curated useful and understandable metrics. The actual event lists are not posted, but available at git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-misc perf/intel-uncore-json-files-3 The code is available here git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-misc perf/builtin-json-25 v1: Initial post v2: Address review feedback. See changelog in commits. v3: Repost. Rebase to latest tree. v4: Rebase. Change DividedBy to generic simple expression parser. Fix refactoring problem that broke git bisect. v5: Address review feedback. See changelog in commits. Add acks. -Andi