Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp438601rwb; Fri, 18 Nov 2022 03:49:47 -0800 (PST) X-Google-Smtp-Source: AA0mqf75zB3gwFfk3yc35VURj7/xdQEPmymEv9//Qbfz90cn42G0HA01Tn3szbfoxXVoxGlgyiiF X-Received: by 2002:a05:6402:4:b0:463:cb99:5c8 with SMTP id d4-20020a056402000400b00463cb9905c8mr5814105edu.395.1668772186917; Fri, 18 Nov 2022 03:49:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668772186; cv=none; d=google.com; s=arc-20160816; b=vWxXWibsCTbw8/FZT8qkqoboeZJtIiBnbOivwHVF1jucIPG1L0+JLcCUrQRxWPOZMc WnTHTcXwRLKa70E2hryQ/LI5hLVXbbiXW3UV9KCreS8x5MWPClrfknUwqTai1Xb7QTdD 5eoeZexiuCUQ++RvvdgueiaN80s1eTxWL7kMG2x4ClJJW15m6Ve6wsmdc7ywQGO+Lhuf HSaBirDYy2UNiY5aZrTyfryq8pZt5nkaqWnmOF3RlSoJln43FDbLWgDwtrspSgXGcrvO xnfJeaiyRmAd3OeqAflsVIrwAy5EwtYrH3XIcDJc6tnQSicwWgxQn4cYxtTx3+722oXS I+SA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id; bh=1YC3LzP6yD0FQAKCs+tXs2hukLRYSv6MQPEq+ygqEF0=; b=ADifXxVgq5l345ghJbibF9HhV08/jRL+wLQWeG6ES5gVIBiw2I1Jm24fOOqk0EU4Z2 miw322X6UN+/EfDVDruAlV97hXbDaj3+19mzOZFkWaQwY5f9Ynx4/GOED9Qbfc3UnDlM cYLud4sAlF5KeH8XJwaoTcqlaCC7CbSJtaXWHzMt2UnWMZUNHoV5KO82Sc8PVB1xBWjm qjisHAie21xSpaS6RPUrZif1407wRq3hcSQ4UrsQDtUcv8/2wLkvdqi9LVsdkOvMxl9I QjesvJk7AcuwOHaJtoS8gV4o7Oz+lCyACNBpJPKDAgk5VOTpDcBMpmQEjCgkRRHyktHG ajzQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id qq18-20020a17090720d200b0078d83fb6672si2424103ejb.118.2022.11.18.03.49.23; Fri, 18 Nov 2022 03:49:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240866AbiKRLdr (ORCPT + 92 others); Fri, 18 Nov 2022 06:33:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35000 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241738AbiKRLcu (ORCPT ); Fri, 18 Nov 2022 06:32:50 -0500 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id B2A529BA11; Fri, 18 Nov 2022 03:32:47 -0800 (PST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C7EE023A; Fri, 18 Nov 2022 03:32:53 -0800 (PST) Received: from [10.1.26.29] (e121896.cambridge.arm.com [10.1.26.29]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id F0A8B3F587; Fri, 18 Nov 2022 03:32:44 -0800 (PST) Message-ID: <13f1a15c-b14f-b4cd-a523-2ec6df168224@arm.com> Date: Fri, 18 Nov 2022 11:32:43 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Subject: Re: [PATCH 05/12] perf test: Add 'leafloop' test workload To: Namhyung Kim , Ian Rogers , German Gomez Cc: Arnaldo Carvalho de Melo , Jiri Olsa , Ingo Molnar , Peter Zijlstra , LKML , Adrian Hunter , linux-perf-users@vger.kernel.org, Leo Yan , Zhengjun Xing , Athira Jajeev References: <20221116233854.1596378-1-namhyung@kernel.org> <20221116233854.1596378-6-namhyung@kernel.org> Content-Language: en-US From: James Clark In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 17/11/2022 18:11, Namhyung Kim wrote: > Hi, > > On Thu, Nov 17, 2022 at 9:42 AM Ian Rogers wrote: >> >> On Thu, Nov 17, 2022 at 9:24 AM Arnaldo Carvalho de Melo >> wrote: >>> >>> Em Thu, Nov 17, 2022 at 09:16:58AM -0800, Ian Rogers escreveu: >>>> On Thu, Nov 17, 2022 at 8:15 AM Arnaldo Carvalho de Melo >>>> wrote: >>>>> >>>>> Em Thu, Nov 17, 2022 at 01:06:16PM -0300, Arnaldo Carvalho de Melo escreveu: >>>>>> Em Wed, Nov 16, 2022 at 03:38:47PM -0800, Namhyung Kim escreveu: >>>>>>> The leafloop workload is to run an infinite loop in the test_leaf >>>>>>> function. This is needed for the ARM fp callgraph test to verify if it >>>>>>> gets the correct callchains. >>>>>>> >>>>>>> $ perf test -w leafloop >>>>>> >>>>>> On fedora:36 >>>>>> >>>>>> In file included from /usr/include/bits/libc-header-start.h:33, >>>>>> from /usr/include/stdlib.h:26, >>>>>> from tests/workloads/leafloop.c:2: >>>>>> /usr/include/features.h:412:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp] >>>>>> 412 | # warning _FORTIFY_SOURCE requires compiling with optimization (-O) >>>>>> | ^~~~~~~ >>>>>> cc1: all warnings being treated as errors >>>>>> make[5]: *** [/home/acme/git/perf/tools/build/Makefile.build:96: /tmp/build/perf/tests/workloads/leafloop.o] Error 1 >>>>>> make[5]: *** Waiting for unfinished jobs.... >>>>>> >>>>>> I'll try removing the _FORTIFY_SOURCE >>>>> >>>>> Works after I added this to datasym.c, leafloop.c and brstack.c: >>>> >>>> Is there a reason we are compiling without -O ? Perhaps we can filter >>> >>> I assumed so as Namhyung added it, perhaps he is just carrying it from >>> the pre-existing shell tests? > > Exactly :) > >>> >>> I wonder its to have a predictable binary output that the test expects >>> when doing things like hardware tracing? As it come from the coresight >>> tests, IIRC. > > I think it just checks frame-pointer based callstacks on ARM to have the > precise results for leaves and their parents. > > >> >> Would the following in the Build be better: >> >> ``` >> # Undefine _FORTIFY_SOURCE as it doesn't work with -O0 >> CFLAGS_leafloop.o = -g -O0 -fno-inline -fno-omit-frame-pointer >> -U_FORTIFY_SOURCE >> ``` >> >> We could also use make's `filter-out`. If we are disabling inlining >> then there is also `-fno-optimize-sibling-calls` otherwise we can >> still lose stack frames. > > I wonder if it's enough to use -O0 as it's enabled from -O2. > Maybe we can get rid of -fno-inline as well. > > German, did you have any concerns for those options? > Is it possible to go with the -U_FORTIFY_SOURCE option? From looking at the disassembly, changing -O and the other -f options makes quite a bit of difference. It's fairly important to that test because it's testing that the combination of both frame pointer unwinding and dwarf unwinding result in the complete stack. If we change the options I'd have to go back and double check with different compiler versions that it's still doing the right thing. For example if a frame pointer is included for the last frame, then the dwarf bit doesn't get tested. > Thanks, > Namhyung