Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752955AbdHKOxn (ORCPT ); Fri, 11 Aug 2017 10:53:43 -0400 Received: from bombadil.infradead.org ([65.50.211.133]:39821 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752631AbdHKOxl (ORCPT ); Fri, 11 Aug 2017 10:53:41 -0400 Date: Fri, 11 Aug 2017 16:53:30 +0200 From: Peter Zijlstra To: Mark Rutland Cc: Vince Weaver , linux-kernel@vger.kernel.org, Will Deacon , Ingo Molnar , Paul Turner , Mathieu Desnoyers Subject: Re: perf: multiple mmap of fd behavior on x86/ARM Message-ID: <20170811145330.gtgx3ujmrn6izoka@hirez.programming.kicks-ass.net> References: <20170811100127.GB12985@leverpostej> <20170811105252.zuaihhfyvvpvm3uz@hirez.programming.kicks-ass.net> <20170811110639.GC12985@leverpostej> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170811110639.GC12985@leverpostej> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1303 Lines: 29 On Fri, Aug 11, 2017 at 12:06:39PM +0100, Mark Rutland wrote: > On Fri, Aug 11, 2017 at 12:52:52PM +0200, Peter Zijlstra wrote: > > On Fri, Aug 11, 2017 at 11:01:27AM +0100, Mark Rutland wrote: > > > On Thu, Aug 10, 2017 at 02:48:52PM -0400, Vince Weaver wrote: > > > > > > > > So I was working on my perf_event_tests on ARM/ARM64 (the end goal was to > > > > get ARM64 rdpmc support working, but apparently those patches never made > > > > it upstream?) > > > > > > IIUC by 'rdpmc' you mean direct userspace counter access? > > > > > > Patches for that never made it upstream. Last I saw, there were no > > > patches in a suitable state for review. > > > > > > There are also difficulties (e.g. big.LITTLE systems where the number of > > > counters can differ across CPUs) which have yet to be solved. > > > > How would that be a problem? The API gives an explicit index to use with > > the 'rdpmc' instruction. > > It's a problem because access to unimplemented counters trap. So if a > task gets migrated from a CPU with N counters to one with N-1, accessing > counter N would be problematic. > > So we'd need to account for that somehow, in addition to the usual > sequence counter fun to verify the index was valid when the access was > performed. Aah, you need restartable-sequences :-)