Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752751AbdHKLHt (ORCPT ); Fri, 11 Aug 2017 07:07:49 -0400 Received: from foss.arm.com ([217.140.101.70]:43024 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751618AbdHKLHs (ORCPT ); Fri, 11 Aug 2017 07:07:48 -0400 Date: Fri, 11 Aug 2017 12:06:39 +0100 From: Mark Rutland To: Peter Zijlstra Cc: Vince Weaver , linux-kernel@vger.kernel.org, Will Deacon , Ingo Molnar Subject: Re: perf: multiple mmap of fd behavior on x86/ARM Message-ID: <20170811110639.GC12985@leverpostej> References: <20170811100127.GB12985@leverpostej> <20170811105252.zuaihhfyvvpvm3uz@hirez.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170811105252.zuaihhfyvvpvm3uz@hirez.programming.kicks-ass.net> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1163 Lines: 29 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. Thanks, Mark.