From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757042AbbGGPhp (ORCPT ); Tue, 7 Jul 2015 11:37:45 -0400 Received: from casper.infradead.org ([85.118.1.10]:51083 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932531AbbGGPgY (ORCPT ); Tue, 7 Jul 2015 11:36:24 -0400 Date: Tue, 7 Jul 2015 17:36:14 +0200 From: Peter Zijlstra To: Arnaldo Carvalho de Melo Cc: Adrian Hunter , Andi Kleen , Ingo Molnar , linux-kernel@vger.kernel.org, Jiri Olsa , Stephane Eranian , mathieu.poirier@linaro.org, Pawel Moll Subject: Re: [PATCH V3 1/4] perf: Add PERF_RECORD_SWITCH to indicate context switches Message-ID: <20150707153614.GT3644@twins.programming.kicks-ass.net> References: <1436258202-6540-1-git-send-email-adrian.hunter@intel.com> <1436258202-6540-2-git-send-email-adrian.hunter@intel.com> <20150707132552.GA3326@kernel.org> <20150707134437.GC3326@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150707134437.GC3326@kernel.org> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jul 07, 2015 at 10:44:37AM -0300, Arnaldo Carvalho de Melo wrote: > Em Tue, Jul 07, 2015 at 10:25:52AM -0300, Arnaldo Carvalho de Melo escreveu: > > Em Tue, Jul 07, 2015 at 11:36:39AM +0300, Adrian Hunter escreveu: > > > To make the event useful for privileged users also, if the > > > context is cpu-wide then the event will also provide the > > > next or previous pid/tid. > > > > > > > > > + /* > > > + * Records a context switch in or out (flagged by > > > + * PERF_RECORD_MISC_SWITCH_OUT). next_prev_pid and next_prev_tid are > > > + * (u32)-1 unless the context is cpu-wide, in which case they are the > > > > Why carry those extra 8 bytes for non priviledged users, all the time > > with -1? > > > Can't userspace cope with this, i.e. we should be able to look for those > > fields when the context is CPU wide, and to not look for them otherwise, > > no? > > To help userspace in places where all it has is the union perf_event, we > can reuse one bit in misc to state that, i.e. > > #define PERF_RECORD_MISC_SWITCH_NEXT_PREV_PID 14 > > For instance. The other option would be a separate RECORD type, which might be simpler.