From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com [IPv6:2a00:1450:4864:20::234]) by sourceware.org (Postfix) with ESMTPS id 2400C3858024 for ; Sat, 22 May 2021 16:37:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 2400C3858024 Received: by mail-lj1-x234.google.com with SMTP id w7so14361652lji.6 for ; Sat, 22 May 2021 09:37:09 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Jqi1EbOvxYO4kSrOjuF02WYFhflvbzuUHCDs6P0npeg=; b=qt0Mcka5aKWFg3D7wvtoICL0Q2eo0Mbd81YWHF+EhyfuaZE7zhpSNhrct4WsePKUra pFammJzRjROS3GfkmICgWyPBBR/JnyNrrLaIyi1rucvhYNL4qCN5zLVC2/WqO5NI/FEA yfHsoBO2YPtP0rcddYH0lvArMg8AoFFjni7ozb2393K+tQyW9rIJ6td/ElIEbY8sIFDq tBwa8EgoQSKEWITRSiaN59lOsM8trxyqm8upDUX6aG66jSykPlkbcEn7hgKKqUwZlBgs I2fR0PgB4wEURFBr093cmCOtDIokj29AjxhqAxyZCHDDocDmOMk8jWmzr4iHgez9/K0Y Pj4w== X-Gm-Message-State: AOAM532MGhHHEOHG+S3bJ8zsQx4G08xcIw4f54v1UYLe09VtoJ2CR5ye R00dTbV6YqSM9VCwNnxZdK/EL0EPB4xoXkyn9MyZoA== X-Google-Smtp-Source: ABdhPJygjGllbaKGWtIXkeHFaK0Jnz9drvI/DvpNpUnM7mK0EmJN/HajtL21TF64GfD/bI2dy02WUjyuEJB/XTHbhLw= X-Received: by 2002:a05:651c:329:: with SMTP id b9mr10841293ljp.128.1621701427643; Sat, 22 May 2021 09:37:07 -0700 (PDT) MIME-Version: 1.0 References: <20210423192834.GA1949@kam.mff.cuni.cz> <20210425190754.GA88857@kam.mff.cuni.cz> <87a6plulkz.fsf@linux.intel.com> <20210426180011.GA1401198@tassilo.jf.intel.com> <20210429054025.GB4032392@tassilo.jf.intel.com> In-Reply-To: From: Wei Mi Date: Sat, 22 May 2021 09:36:55 -0700 Message-ID: Subject: Re: [EXTERNAL] Re: State of AutoFDO in GCC To: Eugene Rozenfeld Cc: Andi Kleen , Hongtao Yu , Xinliang David Li , Jan Hubicka , "gcc@gcc.gnu.org" , Wenlei He X-Spam-Status: No, score=-17.3 required=5.0 tests=BAYES_00, DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH, HTML_MESSAGE, HTTPS_HTTP_MISMATCH, KAM_LOTSOFHASH, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, USER_IN_DEF_DKIM_WL, USER_IN_DEF_SPF_WL autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 May 2021 16:37:11 -0000 It is a proto library build dependency issue which didn't expose on my platform. I fix it at https://github.com/google/autofdo/commit/98269aee9674cc885cc5eb1bd917eb2d12= 731710. Please try again. Thanks, Wei. On Fri, May 21, 2021 at 6:28 PM Eugene Rozenfeld < Eugene.Rozenfeld@microsoft.com> wrote: > I tried following the instructions in "2.2 Build autofdo tool for gcc" in > https://github.com/google/autofdo#readme > and got build failures: > > > > eugene@eugene-Virtual-Machine:~/autofdo1/build$ ninja > > [1/228] Building CXX object CMakeFiles/create_gcov_lib.dir/profile.cc.o > > FAILED: CMakeFiles/create_gcov_lib.dir/profile.cc.o > > /usr/bin/c++ -I../ -I../third_party/glog/src -I../third_party/abseil > -I../third_party/perf_data_converter/src > -I../third_party/perf_data_converter/src/quipper -I../util -I. > -Ithird_party/glog -std=3Dgnu++1z -MD -MT > CMakeFiles/create_gcov_lib.dir/profile.cc.o -MF > CMakeFiles/create_gcov_lib.dir/profile.cc.o.d -o > CMakeFiles/create_gcov_lib.dir/profile.cc.o -c ../profile.cc > > In file included from > ../third_party/perf_data_converter/src/quipper/perf_parser.h:18:0, > > from ../sample_reader.h:18, > > from ../profile.h:15, > > from ../profile.cc:5: > > ../third_party/perf_data_converter/src/quipper/base/macros.h:8:0: warning= : > "DISALLOW_COPY_AND_ASSIGN" redefined > > #define DISALLOW_COPY_AND_ASSIGN(TypeName) \ > > In file included from ../profile.h:14:0, > > from ../profile.cc:5: > > ../base/macros.h:114:0: note: this is the location of the previous > definition > > #define DISALLOW_COPY_AND_ASSIGN(TypeName) \ > > In file included from > ../third_party/perf_data_converter/src/quipper/perf_parser.h:18:0, > > from ../sample_reader.h:18, > > from ../profile.h:15, > > from ../profile.cc:5: > > ../third_party/perf_data_converter/src/quipper/base/macros.h:12:0: > warning: "arraysize" redefined > > #define arraysize(x) (sizeof(x) / sizeof(*x)) > > In file included from ../profile.h:14:0, > > from ../profile.cc:5: > > ../base/macros.h:162:0: note: this is the location of the previous > definition > > #define arraysize(array) (sizeof(ArraySizeHelper(array))) > > In file included from > ../third_party/perf_data_converter/src/quipper/perf_parser.h:21:0, > > from ../sample_reader.h:18, > > from ../profile.h:15, > > from ../profile.cc:5: > > ../third_party/perf_data_converter/src/quipper/compat/proto.h:16:10: fata= l > error: perf_stat.pb.h: No such file or directory > > #include "perf_stat.pb.h" > > ^~~~~~~~~~~~~~~~ > > compilation terminated. > > > > What is supposed to generate perf_stat.pb.h? > > > > Thanks, > > > > Eugene > > > > *From:* Wei Mi > *Sent:* Monday, May 10, 2021 4:47 PM > *To:* Andi Kleen > *Cc:* Hongtao Yu ; Xinliang David Li ; > Jan Hubicka ; gcc@gcc.gnu.org; Eugene Rozenfeld < > Eugene.Rozenfeld@microsoft.com>; Wenlei He > *Subject:* [EXTERNAL] Re: State of AutoFDO in GCC > > > > https://github.com/google/autofdo > > has been updated. Now create_gcov/dump_gcov are added back and can be bui= lt > separately. > > Please look at "2.2 Build autofdo tool for gcc" in > https://github.com/google/autofdo#readme > > > On Wed, Apr 28, 2021 at 10:40 PM Andi Kleen wrote: > > > > On Mon, Apr 26, 2021 at 06:40:56PM +0000, Hongtao Yu wrote: > > > Andi, thanks for pointing out the perf script issues. Can you plea= se > > > elaborate a bit on the exact issue you have seen? We=E2=80=99ve be= en using > > > specific output of perf script such as mmap, LBR and callstack > events > > > filtered by process id. It works fine so far but may certainly hit > issues > > > in the future with extended uses. > > > > Okay I took a look at the latest autofdo now. It seems to be basically > > a LLVM project now that depends on LLVM to even build with all kinds > > of dependency hell on some old LLVM version and other packages. > > > > I guess gcc will really need a replacement that doesn't pull in > > all of LLVM if it wants to continue supporting autofdo. > > > > I'm myself unable to build now. > > > > I'm using the old version I had a git fork of and that > > was before all of this. I added a patch to make it work > > with the latest perf by ignoring increased perf_attr > > and unknown perf events. > > > > Honza please use > > > > https://github.com/andikleen/autofdo > > -b perf-future > > > > for testing. > > > > -Andi > > >