From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EEE01C433EF for ; Sun, 17 Oct 2021 06:15:00 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9E17860FED for ; Sun, 17 Oct 2021 06:15:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 9E17860FED Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=c6jyQzC+g6FOrfctvGtfGBREwW+tKlyZaSI4JLL3Nss=; b=NL3u1R2J0Iojrp iGyzzbW3iCYG+IhFYVkXtEsQgeDUed7iT9M7AEHwdVFZdk3HRLTpZY1u9pLP7yIwJz0Kr7YPgE1f3 0DMAHEs7zWue53k2pE2tVpUEPzBKk5i1Z0ANI9q6vMFUXRYp4dc6+pMaSS+bGMo2KVqk7Sw4fLZIS zcakIruJvtj9QNfINmUHHSaYOSc1WixY8Cdr4yS73x95PMtpnkKLoW40ruT4tgRQU43+bho4FDGdI VJgZFlKwdsWz1TXiBTChzCIV6MW62MiTyv/7jU0TADDrBWmH/MNxcQ6ILy11RNDw3hnGf9wOkIDPu IziBXB4Rs1+1UHmTsYRw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mbzQ7-00Bp4o-M2; Sun, 17 Oct 2021 06:13:19 +0000 Received: from mail-pg1-x52a.google.com ([2607:f8b0:4864:20::52a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mbzQ4-00Bp4P-Cf for linux-arm-kernel@lists.infradead.org; Sun, 17 Oct 2021 06:13:17 +0000 Received: by mail-pg1-x52a.google.com with SMTP id c4so5698352pgv.11 for ; Sat, 16 Oct 2021 23:13:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=iiUsb1cE83ywvQV5UZip8b5x2e5QmVrvVvAWD2Go4Y4=; b=pboFRXlb0KKncS2ZrsAk+9ZB5kxQRMHoxlxYAzMx4lsP46bbwVtO53gUaGKwMZpx0D jJx9bvq7i6K/Lm1PTF0EIduKK3ThC5ybFGY1YUn3N4NW9SYXBHN6VHx/qjMCHX+vFl00 OV2Jnm7/jGpMBxQyAoZ7kWu6pkZawvpP1u7LLYawfHy+Y55BdTreHhwo8M8hfkYPC0ez fWC3iSSORsKpdaNiONw7tKHQz6Vg2ki0V2YHwiE6DDNJgJA5k0oYI92BuWWGtuWTujEG C+PJU0PeXPadgAo0NaQvikRWRl8d+SeGl9dESdWvbsNZDc5Ln3xINxQocTtCFTGNEYYn NFNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=iiUsb1cE83ywvQV5UZip8b5x2e5QmVrvVvAWD2Go4Y4=; b=Unyk6qar4IACgxmOEiGufYqGXMPnlqXVQ0RfNiMvdk2dAIqfFsbhUBryP4dmeQUDiz QgNqGAYsD5sGxyaNHB8q6NPxEIbzWg3o81PIvgbzdDRldwvNeUH6RhAHbfWBi25BSKRD mgkzJfA7CF7d9wMb/Mc/AD9h16pjY/1igWDdO4/dCM4kkjk8GMsghpx1blwgy90v1Z6F N7heGdg8+021h6QWr9bCl7D6K7J/z8ziVViPnCMIzqOkKS06pPtk3mD4fSTcQjiTT1Wd jBDhoFifBXDyqbrDL0dLBnkphy03oeRtcCOdFjzUXb6xeuHEve1k/W0dST1oMT4TO9R4 jCDQ== X-Gm-Message-State: AOAM530z5t1CBk/tKi/ED3m2M9dF5rJQRk1mBrWR+MqQlqC1TbFRFQzO N4S3FYBvRP/uHMioICqon9qAwA== X-Google-Smtp-Source: ABdhPJzsRT0SFzj4MgkUfEIo67XCx2S5g/JamGuwvAezJlXAtsat0nvEG/E7ygf9ilSFmx4306508g== X-Received: by 2002:a65:6658:: with SMTP id z24mr17463560pgv.266.1634451192461; Sat, 16 Oct 2021 23:13:12 -0700 (PDT) Received: from leoy-ThinkPad-X240s ([148.163.172.147]) by smtp.gmail.com with ESMTPSA id z11sm15833174pjl.45.2021.10.16.23.13.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 16 Oct 2021 23:13:11 -0700 (PDT) Date: Sun, 17 Oct 2021 14:13:05 +0800 From: Leo Yan To: German Gomez Cc: Will Deacon , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, John Garry , Mathieu Poirier , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Mike Leach , linux-arm-kernel@lists.infradead.org, coresight@lists.linaro.org, James Clark Subject: Re: [PATCH 4/5] perf arm-spe: Implement find_snapshot callback Message-ID: <20211017061305.GA130233@leoy-ThinkPad-X240s> References: <20210923135016.GG400258@leoy-ThinkPad-X240s> <20210923144048.GB603008@leoy-ThinkPad-X240s> <1c6a3a73-27dc-6673-7fe7-34bc7fcb0a68@arm.com> <20211004122724.GC174271@leoy-ThinkPad-X240s> <6b092f13-832f-5d1d-a504-aea96c81bf17@arm.com> <20211006095124.GC14400@leoy-ThinkPad-X240s> <377b54ef-b9c0-9cfc-ef0c-0187d7c493cc@arm.com> <20211013003916.GA130842@leoy-ThinkPad-X240s> <20211013075125.GA6701@willie-the-truck> <35209d5c-6387-5248-ab61-a1e1cb0553de@arm.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <35209d5c-6387-5248-ab61-a1e1cb0553de@arm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211016_231316_491642_35AA49AC X-CRM114-Status: GOOD ( 13.31 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi German, Will, On Fri, Oct 15, 2021 at 01:33:39PM +0100, German Gomez wrote: [...] > $ ./perf record -vvv -e arm_spe/period=148576/u -S1000 -m16,16 -- taskset --cpu-list 0 stress --cpu 1 & When testing Arm SPE snapshot mode with the command (it's quite similiar with up command but not exactly same): # ./perf --debug verbose=3 record -e arm_spe/period=148576/u -C 0 -S1000 -m16,16 \ -- taskset --cpu-list 0 stress --cpu 1 & # kill -USR2 [pid_num] ... then I wait for long time and didn't stop the perf program, then I observed the output file contains many redundant events PERF_RECORD_AUX. E.g. in the shared perf data file [1], you could use below commands to see tons of the events PERF_RECORD_AUX which I only send only one USR2 signal for taking snapshot: # perf report -D -i perf.data --stdio | grep -E 'RECORD_AUX' | wc -l 2245787 # perf report -D -i perf.data --stdio | grep -E 'SPE' . ... ARM SPE data: size 0x3e8 bytes Binary file (standard input) matches I looked into the Arm SPE driver and found it doesn't really support free run mode for AUX ring buffer when the driver runs in snapshot mode, the pair functions perf_aux_output_end() and perf_aux_output_begin() are invoked when every time handle the interrupt. The detailed flow is: arm_spe_pmu_irq_handler() `> arm_spe_pmu_buf_get_fault_act() `> arm_spe_perf_aux_output_end() `> set SPE registers `> perf_aux_output_end() `> arm_spe_perf_aux_output_begin() `> perf_aux_output_begin() `> set SPE registers Seems to me, a possible solution is to add an extra parameter 'int in_interrupt' for functions arm_spe_perf_aux_output_end() and arm_spe_perf_aux_output_begin(), if this parameter is passed as 1 in the interrupt handling, these two functions should skip invoking perf_aux_output_end() and perf_aux_output_begin() so can avoid the redundant perf event PERF_RECORD_AUX. arm_spe_pmu_irq_handler() `> arm_spe_pmu_buf_get_fault_act() `> arm_spe_perf_aux_output_end(..., in_interrupt=1) `> set SPE registers `> arm_spe_perf_aux_output_begin(..., in_interrupt=1) `> set SPE registers P.s. I think Intel-PT has supported free run mode for snapshot mode, so it should not generate interrupt in this mode. Thus Intel-PT can avoid this issue, please see the code [2]. Thanks, Leo [1] https://people.linaro.org/~leo.yan/spe/snapshot_test/perf.data [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/events/intel/pt.c#n753 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel