From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758029Ab2GKOza (ORCPT ); Wed, 11 Jul 2012 10:55:30 -0400 Received: from casper.infradead.org ([85.118.1.10]:33082 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755442Ab2GKOz0 convert rfc822-to-8bit (ORCPT ); Wed, 11 Jul 2012 10:55:26 -0400 Message-ID: <1342018508.3462.163.camel@twins> Subject: Re: [PATCH] trace: add ability to set a target task for events (v2) From: Peter Zijlstra To: Frederic Weisbecker Cc: Andrew Vagin , linux-kernel@vger.kernel.org, Ingo Molnar , Steven Rostedt , Paul Mackerras , Arnaldo Carvalho de Melo , Arun Sharma Date: Wed, 11 Jul 2012 16:55:08 +0200 In-Reply-To: <20120711144840.GC17991@somewhere> References: <1342016098-213063-1-git-send-email-avagin@openvz.org> <20120711143121.GA17991@somewhere> <1342017221.3462.159.camel@twins> <20120711143656.GB17991@somewhere> <1342017499.3462.160.camel@twins> <20120711144840.GC17991@somewhere> Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7BIT X-Mailer: Evolution 3.2.2- Mime-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2012-07-11 at 16:48 +0200, Frederic Weisbecker wrote: > On Wed, Jul 11, 2012 at 04:38:19PM +0200, Peter Zijlstra wrote: > > On Wed, 2012-07-11 at 16:36 +0200, Frederic Weisbecker wrote: > > > > > > In this case he can just record sched wakeup as well. With sched_switch > > > + sched_wakeup, he'll unlikely lose events. > > > > > > With sched_stat_sleep he will lose events, unless we fix this period > > > demux thing. > > > > But without this patch, the sched_wakeup will belong to another task, so > > if you trace task A, and B wakes you, you'll never see the wakeup. > > Ah so the goal is to minimize the amount of events by only tracing task A? Right, or just not having sufficient privs to trace the world. And a wakeup of A is very much also part of A, not only the task doing the wakeup. Hence the proposed mechanism. > Ok then. Still we need to fix these events that use __perf_count() because > wide tracing of sched_switch/wake_up still generate less events than > sched stat sleep. > > I believe: > > perf record -e sched:sched_stat_sleep sleep 1 > > produces 1 billion events because we sleep 1 billion nanosecs. Or > something like that. Right.. back when I did that the plan was to make PERF_SAMPLE_PERIOD fix that, of course that never seemed to have happened. With PERF_SAMPLE_PERIOD you can simply write the 1b into the period of 1 event and be done with it.