Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp1510918ybi; Wed, 17 Jul 2019 16:49:01 -0700 (PDT) X-Google-Smtp-Source: APXvYqxxNcQIWq6IfV8MFLQ0OB8LgJ2o9wOtcqjFVStGzVl3+IOyYPyx+AE2/V7xin7Wo7l05Feh X-Received: by 2002:a17:902:8f93:: with SMTP id z19mr44772993plo.97.1563407341702; Wed, 17 Jul 2019 16:49:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1563407341; cv=none; d=google.com; s=arc-20160816; b=QHB8JNb7XLWFFgRkHJAZHJ3gCE5a6RFJjTlt3uHMJSGb9gWp3KQGfL0r7HClGz3jP8 Jln2PfhasJnaerhPipnyMIsH6Uq8LLcI48G+mKH7okLwPPvle85TSCVB5ffBWWiqYsXb xih0alkG+VFV3Wod3M4/YdameH/aPoXYgTXpdFD0JhQs0xTvlA5zKpXXStxJj6Fswh6w gHs80X/g4BhCA8KGFtcZE4rdOfBoTh3X+XOGnUgX3xw+iYaN/kXkvnW4sX70LVHOo0Mw UMSZAVqZ97DviVyI0iSEOsS0NVfCae47d0TdP30LuAQnNAnwpsSPV3nRJ5ZmbuWzLTFw VVvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:date:from:dkim-signature; bh=Ip9lNfmhhDb5HCtfgW2jjjNOGJYDxsuUzii/0A7QOTM=; b=0XYWGwjVXChqnFjPcc5qZueXPUYXNTO8I5hHvk/LQyvm924HEUNzCl3XdTLehvAMmw 1GtXMSLR540Aahd9T05TCX4/PQdfhu0Irzf666jCFv7AQ8FPhNInwVGN8b6TjKEjeJ/S RA4XrPa8+FOKd2CB2W8FN2Wugg7zwaBMq8YCGRNnPrjk8WiKaKGEyPecK/00fN/wB5+t mv8keE5JQblJXzvSgVWorR6WrJeP2re9F9Vr2Ra8b++KOH7dOSAikiOx9XQ9JukGjhc0 q9yLG4fM3FDfXHpaQv4cGIOusVcJKBGtecWiYnb+AXJMfMMyeq1N2jd+HWDW6q0FOzY1 JQTQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=WTly5ZB9; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 65si24642630ple.240.2019.07.17.16.48.45; Wed, 17 Jul 2019 16:49:01 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=WTly5ZB9; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728545AbfGQXq7 (ORCPT + 99 others); Wed, 17 Jul 2019 19:46:59 -0400 Received: from mail-qk1-f196.google.com ([209.85.222.196]:44333 "EHLO mail-qk1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727792AbfGQXq6 (ORCPT ); Wed, 17 Jul 2019 19:46:58 -0400 Received: by mail-qk1-f196.google.com with SMTP id d79so18935715qke.11 for ; Wed, 17 Jul 2019 16:46:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:date:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=Ip9lNfmhhDb5HCtfgW2jjjNOGJYDxsuUzii/0A7QOTM=; b=WTly5ZB9tAxV/Y2VbrLJusEAwAG6gtCPLHeCq/Zqqwj5kOiTV1sAfuSvaR3++dbhaB YRYAExCw1AmHr2HjHUIFZ1xUYeiHdpEEZ72haPPt3v9jtumDEhVjT3W2h7V19+xPxg0U 4CFeR1HR9bmNw31FJinnDU6IRCvsYqF6ZWJDQews+fe00ok5BcJcGTl0Q//8dP8S5QMv kBDKQxuQOz50HPxU7In3axMpE+E1CQCXwLEJ8nf+1TvLdwweTJeK2wpET39GMvmaCS5e 9QdC6JBOGK4aZV9k+rfrXlmoGKtV7ktPRFN3ZvcPfzUyWUBP83rmkDDwSZ7TYADwBzX8 /Jyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:date:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=Ip9lNfmhhDb5HCtfgW2jjjNOGJYDxsuUzii/0A7QOTM=; b=RY4rqKZ8qnc//4XhntyAyct5UvGBJYuCJuJ8WOxKSWp3Y2Qdv6OkKxaS3y1YX/aMIH iPh9ZyMA1X6UTqTxuETJdwIi2ZpF6jcYYpR14GErvi4RJqwUT3rb/oyNWnAYoJQc5dbs m9Jvc2P4EnQ7Pcq9pVAPfbqGU6XLIMgHk7sgLBWCoXlKyoSqmYa/rBE837DJ3kSk7P++ FPzbzQG+Nzt2Sy0g57fEOToZQpL8/+/7mnXCJHF4hckHRPHx3ipEjn3DG78PgCiXlCeN C/oDbzhkJvSzgeML9S9ErGx6asIyrUf8JGchZRW2ElbWyisr74sR8AYgMp+Ph85DRf7J kG+Q== X-Gm-Message-State: APjAAAX533AX9SePFWLMvIxuIeYbkwsqh2hXByCiIYoKvb+Ml9/nALtm 6yY4fh/eSZv+xqkcpERW6os= X-Received: by 2002:a37:6982:: with SMTP id e124mr27062180qkc.291.1563407217114; Wed, 17 Jul 2019 16:46:57 -0700 (PDT) Received: from quaco.ghostprotocols.net ([179.97.35.11]) by smtp.gmail.com with ESMTPSA id 195sm12234485qke.90.2019.07.17.16.46.54 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Wed, 17 Jul 2019 16:46:55 -0700 (PDT) From: Arnaldo Carvalho de Melo X-Google-Original-From: Arnaldo Carvalho de Melo Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id 8AB9E40340; Wed, 17 Jul 2019 20:46:52 -0300 (-03) Date: Wed, 17 Jul 2019 20:46:52 -0300 To: Jiri Olsa Cc: Igor Lubashev , linux-kernel@vger.kernel.org, Peter Zijlstra , Ingo Molnar , Mathieu Poirier , Alexander Shishkin , Namhyung Kim , Suzuki K Poulose , linux-arm-kernel@lists.infradead.org, James Morris Subject: Re: [PATCH 1/3] perf: Add capability-related utilities Message-ID: <20190717234652.GJ3624@kernel.org> References: <1562112605-6235-1-git-send-email-ilubashe@akamai.com> <1562112605-6235-2-git-send-email-ilubashe@akamai.com> <20190716084643.GA22317@krava> <20190717210551.GI3624@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190717210551.GI3624@kernel.org> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.12.0 (2019-05-25) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Wed, Jul 17, 2019 at 06:05:51PM -0300, Arnaldo Carvalho de Melo escreveu: > Em Tue, Jul 16, 2019 at 10:46:43AM +0200, Jiri Olsa escreveu: > > On Tue, Jul 02, 2019 at 08:10:03PM -0400, Igor Lubashev wrote: > > > Add utilities to help checking capabilities of the running process. > > > Make perf link with libcap. > > > > > > Signed-off-by: Igor Lubashev > > > --- > > > tools/perf/Makefile.config | 2 +- > > > tools/perf/util/Build | 1 + > > > tools/perf/util/cap.c | 24 ++++++++++++++++++++++++ > > > tools/perf/util/cap.h | 10 ++++++++++ > > > tools/perf/util/event.h | 1 + > > > tools/perf/util/python-ext-sources | 1 + > > > tools/perf/util/util.c | 9 +++++++++ > > > 7 files changed, 47 insertions(+), 1 deletion(-) > > > create mode 100644 tools/perf/util/cap.c > > > create mode 100644 tools/perf/util/cap.h > > > > > > diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config > > > index 85fbcd265351..21470a50ed39 100644 > > > --- a/tools/perf/Makefile.config > > > +++ b/tools/perf/Makefile.config > > > @@ -259,7 +259,7 @@ CXXFLAGS += -Wno-strict-aliasing > > > # adding assembler files missing the .GNU-stack linker note. > > > LDFLAGS += -Wl,-z,noexecstack > > > > > > -EXTLIBS = -lpthread -lrt -lm -ldl > > > +EXTLIBS = -lpthread -lrt -lm -ldl -lcap > > > > I wonder we should detect libcap or it's everywhere.. Arnaldo's compile test suite might tell > > I'll add this tentatively and try to build it in my test suite. So, not even in my notebook this worked straight away: CC /tmp/build/perf/util/cap.o CC /tmp/build/perf/util/config.o In file included from util/cap.c:5: util/cap.h:6:10: fatal error: sys/capability.h: No such file or directory 6 | #include | ^~~~~~~~~~~~~~~~~~ compilation terminated. mv: cannot stat '/tmp/build/perf/util/.cap.o.tmp': No such file or directory I had to first do: dnf install libcap-devel So we need to have a feature test and fail if that is not installed, i.e. libcap becomes a hard req for building perf, which I think is reasonable, one more shouldn't hurt, right? With all the features enabled: [acme@quaco perf]$ ldd ~/bin/perf linux-vdso.so.1 (0x00007ffe7278a000) libunwind-x86_64.so.8 => /lib64/libunwind-x86_64.so.8 (0x00007f7be52f1000) libunwind.so.8 => /lib64/libunwind.so.8 (0x00007f7be52d7000) liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f7be52ae000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7be528d000) librt.so.1 => /lib64/librt.so.1 (0x00007f7be5283000) libm.so.6 => /lib64/libm.so.6 (0x00007f7be513d000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f7be5135000) libcap.so.2 => /lib64/libcap.so.2 (0x00007f7be512e000) libelf.so.1 => /lib64/libelf.so.1 (0x00007f7be5113000) libdw.so.1 => /lib64/libdw.so.1 (0x00007f7be50c0000) libslang.so.2 => /lib64/libslang.so.2 (0x00007f7be4de8000) libperl.so.5.28 => /lib64/libperl.so.5.28 (0x00007f7be4ac2000) libc.so.6 => /lib64/libc.so.6 (0x00007f7be48fa000) libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007f7be4690000) libz.so.1 => /lib64/libz.so.1 (0x00007f7be4676000) libzstd.so.1 => /lib64/libzstd.so.1 (0x00007f7be45d1000) libnuma.so.1 => /lib64/libnuma.so.1 (0x00007f7be45c3000) libbabeltrace-ctf.so.1 => /lib64/libbabeltrace-ctf.so.1 (0x00007f7be456d000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f7be4551000) /lib64/ld-linux-x86-64.so.2 (0x00007f7be5331000) libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f7be453d000) libcrypt.so.2 => /lib64/libcrypt.so.2 (0x00007f7be4502000) libutil.so.1 => /lib64/libutil.so.1 (0x00007f7be44fd000) libbabeltrace.so.1 => /lib64/libbabeltrace.so.1 (0x00007f7be44ed000) libpopt.so.0 => /lib64/libpopt.so.0 (0x00007f7be44dd000) libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f7be44d3000) libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007f7be44cd000) libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f7be43a9000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f7be4335000) [acme@quaco perf]$ ;-) So, please check tools/build/feature/ and check how this is done and add a test and the warning in tools/perf/Makefile.config so that we get an error message stating that libcap-dev or libcap-devel should be installed. I'll do it if there is any difficulty, just not right now as I'm busy and want to get a pull req out of the door. - Arnaldo