From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030234AbcGLO2L (ORCPT ); Tue, 12 Jul 2016 10:28:11 -0400 Received: from merlin.infradead.org ([205.233.59.134]:41305 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754060AbcGLO2H (ORCPT ); Tue, 12 Jul 2016 10:28:07 -0400 Date: Tue, 12 Jul 2016 16:27:53 +0200 From: Peter Zijlstra To: "Eric W. Biederman" Cc: Nikolay Borisov , Aravinda Prasad , linux-kernel@vger.kernel.org, rostedt@goodmis.org, mingo@redhat.com, paulus@samba.org, acme@kernel.org, hbathini@linux.vnet.ibm.com, ananth@in.ibm.com Subject: Re: [RFC PATCH 2/2] perf: Filter events based on perf-namespace Message-ID: <20160712142753.GT30909@twins.programming.kicks-ass.net> References: <20160614164530.4192.79560.stgit@aravindap> <20160614164951.4192.66724.stgit@aravindap> <20160627155002.GD30909@twins.programming.kicks-ass.net> <5784B7B9.5020901@linux.vnet.ibm.com> <20160712114734.GL30154@twins.programming.kicks-ass.net> <5784E586.5090904@kyup.com> <20160712130430.GQ30909@twins.programming.kicks-ass.net> <8737nf55bu.fsf@x220.int.ebiederm.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8737nf55bu.fsf@x220.int.ebiederm.org> User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jul 12, 2016 at 08:55:17AM -0500, Eric W. Biederman wrote: > I completely misread the description of this, or I would have something > earlier. For some reason I thought he was talking about the perf > controller. > > As I recall the tricky part of this was to have tracing that was safe > and usable inside of a container. If you can align a per cgroup with > your container that is probably sufficient for the select of processes. > > At the same time there is a real desire to have identifiers like pids > translated into the appropriate form for inside of the container. > Without that translation they are meaningless inside a container. > Further it is necessary to be certain the trancing that is used is is > safe for unprivileged users. > > I don't think I ever suggested or approved of the concept of a perf > namespace and that sounds a bit dubious to me. So perf uses the pid-namespace of the event-creator to report PID/TID numbers in. So sys_perf_event_open() -> perf_event_alloc() does get_pid_ns(task_active_pid_ns(current)) to set event->ns and then we do: task_{tgid,pid}_nr_ns(p, event->ns) to report the PID/TID resp., see perf_event_{pid,tid}().