Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935125AbcLPMO2 (ORCPT ); Fri, 16 Dec 2016 07:14:28 -0500 Received: from mail-ua0-f194.google.com ([209.85.217.194]:33297 "EHLO mail-ua0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934688AbcLPMOW (ORCPT ); Fri, 16 Dec 2016 07:14:22 -0500 MIME-Version: 1.0 From: Alban Crequy Date: Fri, 16 Dec 2016 13:14:01 +0100 X-Google-Sender-Auth: Vtm9pr4wSwzq1iy7pVgrBr5mf1A Message-ID: Subject: Re: [PATCH v4 0/3] perf: add support for analyzing events for containers To: Hari Bathini Cc: ananth@in.ibm.com, daniel@iogearbox.net, Linux Containers , "linux-kernel@vger.kernel.org" , acme@kernel.org, alexander.shishkin@linux.intel.com, mingo@redhat.com, paulus@samba.org, rostedt@goodmis.org, aravinda@linux.vnet.ibm.com, kernel@kyup.com, Alexander Viro , "Eric W. Biederman" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1430 Lines: 31 Hi, > Currently, there is no trivial mechanism to analyze events based on > containers. perf -G can be used, but it will not filter events for the > containers created after perf is invoked, making it difficult to assess/ > analyze performance issues of multiple containers at once. > > This patch-set overcomes this limitation by using cgroup identifier as > container unique identifier. A new PERF_RECORD_NAMESPACES event that > records namespaces related info is introduced, from which the cgroup > namespace's device & inode numbers are used as cgroup identifier. This > is based on the assumption that each container is created with it's own > cgroup namespace allowing assessment/analysis of multiple containers > using cgroup identifier. > > The first patch introduces PERF_RECORD_NAMESPACES in kernel while the > second patch makes the corresponding changes in perf tool to read this > PERF_RECORD_NAMESPACES events. The third patch adds a cgroup identifier > column in perf report, which contains the cgroup namespace's device and > inode numbers. I have a question for the pid namespace: does the new perf event gives the pid namespace of the task, or the pid_ns_for_children from the nsproxy? From my limited understanding, v4 seems to do the former, as opposed to v3. When synthesizing events from /proc/$PID/ns/pid, it cannot take the pid_ns_for_children, so I wanted to make sure it is consistent. Cheers, Alban