linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Wang Nan <wangnan0@huawei.com>, Ingo Molnar <mingo@kernel.org>
Cc: jolsa@redhat.com, brendan.d.gregg@gmail.com,
	linux-kernel@vger.kernel.org, pi3orama@163.com,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Alexei Starovoitov <ast@kernel.org>, Jiri Olsa <jolsa@kernel.org>,
	Li Zefan <lizefan@huawei.com>
Subject: Re: [RFC PATCH 02/13] tools: Add ubpf feature test
Date: Wed, 20 Apr 2016 16:11:49 -0300	[thread overview]
Message-ID: <20160420191149.GS3677@kernel.org> (raw)
In-Reply-To: <1461175313-38310-3-git-send-email-wangnan0@huawei.com>

Em Wed, Apr 20, 2016 at 06:01:42PM +0000, Wang Nan escreveu:
> Add test-ubpf.c to find libubpf, which can be found from [1].
> 
> ubpf is user space BPF engine. Following commits will utilize ubpf
> to make perf dynamically run some profiling scripts in user space.
> 
> [1] https://github.com/iovisor/ubpf.git

Ok, but the rule we've been following is that if a library is not generally
available in distros, we don't try to build it, because it will fail in almost
all cases, causing confusion and adding overhead to the build for no reason.

So, please make it behave like babeltrace, as described in the changeset below,
i.e. to build with UBPF, one will need to do:

  $ make UBPF=1

I'm applying the patches and testing, but will need the above to proceed wrt
pushing it upstream.

- Arnaldo

commit 6ab2b762befd192b90704c5c7898f5abf8ebb387
Author: Jiri Olsa <jolsa@redhat.com>
Date:   Sat Mar 28 11:30:30 2015 +0100

    perf build: Disable libbabeltrace check by default
    
    Disabling libbabeltrace check by default and replacing the
    NO_LIBBABELTRACE make variable with LIBBABELTRACE.
    
    Users wanting the libbabeltrace feature need to build via:
    
      $ make LIBBABELTRACE=1
    
    The reason for this is that the libababeltrace interface we use (version
    1.3) hasn't been packaged/released yet, thus the failing feature check
    only slows down build and confuses other (non CTF) developers.
    
    Requested-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Acked-by: Ingo Molnar <mingo@kernel.org>

 
> Signed-off-by: Wang Nan <wangnan0@huawei.com>
> Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
> Cc: Alexei Starovoitov <ast@kernel.org>
> Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: Li Zefan <lizefan@huawei.com>
> ---
>  tools/build/Makefile.feature    |  6 ++++--
>  tools/build/feature/Makefile    |  6 +++++-
>  tools/build/feature/test-ubpf.c | 11 +++++++++++
>  tools/lib/bpf/Makefile          |  4 ++--
>  4 files changed, 22 insertions(+), 5 deletions(-)
>  create mode 100644 tools/build/feature/test-ubpf.c
> 
> diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
> index 9f87861..eb84b6a 100644
> --- a/tools/build/Makefile.feature
> +++ b/tools/build/Makefile.feature
> @@ -56,7 +56,8 @@ FEATURE_TESTS_BASIC :=			\
>  	zlib				\
>  	lzma				\
>  	get_cpuid			\
> -	bpf
> +	bpf				\
> +	ubpf
>  
>  # FEATURE_TESTS_BASIC + FEATURE_TESTS_EXTRA is the complete list
>  # of all feature tests
> @@ -96,7 +97,8 @@ FEATURE_DISPLAY ?=			\
>  	zlib				\
>  	lzma				\
>  	get_cpuid			\
> -	bpf
> +	bpf				\
> +	ubpf
>  
>  # Set FEATURE_CHECK_(C|LD)FLAGS-all for all FEATURE_TESTS features.
>  # If in the future we need per-feature checks/flags for features not
> diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
> index 4ae94db..7480e0f 100644
> --- a/tools/build/feature/Makefile
> +++ b/tools/build/feature/Makefile
> @@ -37,7 +37,8 @@ FILES=					\
>  	test-zlib.bin			\
>  	test-lzma.bin			\
>  	test-bpf.bin			\
> -	test-get_cpuid.bin
> +	test-get_cpuid.bin		\
> +	test-ubpf.bin
>  
>  FILES := $(addprefix $(OUTPUT),$(FILES))
>  
> @@ -182,6 +183,9 @@ $(OUTPUT)test-get_cpuid.bin:
>  $(OUTPUT)test-bpf.bin:
>  	$(BUILD)
>  
> +$(OUTPUT)test-ubpf.bin:
> +	$(BUILD) -lubpf
> +
>  -include $(OUTPUT)*.d
>  
>  ###############################
> diff --git a/tools/build/feature/test-ubpf.c b/tools/build/feature/test-ubpf.c
> new file mode 100644
> index 0000000..3c0a257
> --- /dev/null
> +++ b/tools/build/feature/test-ubpf.c
> @@ -0,0 +1,11 @@
> +#include <stdlib.h>
> +#include <ubpf.h>
> +
> +int main(void)
> +{
> +	struct ubpf_vm *vm;
> +
> +	vm = ubpf_create();
> +	ubpf_destroy(vm);
> +	return 0;
> +}
> diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
> index fc1bc75..8dfa512 100644
> --- a/tools/lib/bpf/Makefile
> +++ b/tools/lib/bpf/Makefile
> @@ -65,8 +65,8 @@ ifndef VERBOSE
>  endif
>  
>  FEATURE_USER = .libbpf
> -FEATURE_TESTS = libelf libelf-getphdrnum libelf-mmap bpf
> -FEATURE_DISPLAY = libelf bpf
> +FEATURE_TESTS = libelf libelf-getphdrnum libelf-mmap bpf ubpf
> +FEATURE_DISPLAY = libelf bpf ubpf
>  
>  INCLUDES = -I. -I$(srctree)/tools/include -I$(srctree)/arch/$(ARCH)/include/uapi -I$(srctree)/include/uapi
>  FEATURE_CHECK_CFLAGS-bpf = $(INCLUDES)
> -- 
> 1.8.3.4

  reply	other threads:[~2016-04-20 19:12 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-20 18:01 [RFC PATCH 00/13] perf tools: Support uBPF script Wang Nan
2016-04-20 18:01 ` [RFC PATCH 01/13] bpf tools: Add map related BPF helper Wang Nan
2016-04-20 18:01 ` [RFC PATCH 02/13] tools: Add ubpf feature test Wang Nan
2016-04-20 19:11   ` Arnaldo Carvalho de Melo [this message]
2016-04-20 18:01 ` [RFC PATCH 03/13] bpf tools: Add ubpf include and makefile options Wang Nan
2016-04-20 18:01 ` [RFC PATCH 04/13] bpf tools: Replace fd array to union array Wang Nan
2016-04-20 19:20   ` Arnaldo Carvalho de Melo
2016-04-20 18:01 ` [RFC PATCH 05/13] bpf tools: Save engine type in bpf_program Wang Nan
2016-04-20 19:23   ` Arnaldo Carvalho de Melo
2016-04-20 19:29     ` pi3orama
2016-04-20 18:01 ` [RFC PATCH 06/13] bpf tools: Introduce ubpf_vm to program instance union Wang Nan
2016-04-20 19:30   ` Arnaldo Carvalho de Melo
2016-04-20 18:01 ` [RFC PATCH 07/13] bpf tools: Load ubpf program Wang Nan
2016-04-20 19:34   ` Arnaldo Carvalho de Melo
2016-04-20 18:01 ` [RFC PATCH 08/13] bpf tools: Add API for fetching ubpf_vm Wang Nan
2016-04-20 18:01 ` [RFC PATCH 09/13] bpf tools: Register extern functions for ubpf programs Wang Nan
2016-04-20 18:01 ` [RFC PATCH 10/13] perf tools: Register basic UBPF helpers Wang Nan
2016-04-20 18:01 ` [RFC PATCH 11/13] perf bpf: Accept ubpf programs Wang Nan
2016-04-20 18:01 ` [RFC PATCH 12/13] perf record: Add UBPF hooks at beginning and end of perf record Wang Nan
2016-04-20 18:01 ` [RFC PATCH 13/13] perf tests: Add UBPF test case Wang Nan
2016-04-20 22:06 ` [RFC PATCH 00/13] perf tools: Support uBPF script Alexei Starovoitov
2016-04-21  8:17   ` Wangnan (F)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160420191149.GS3677@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=ast@kernel.org \
    --cc=brendan.d.gregg@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=mingo@kernel.org \
    --cc=pi3orama@163.com \
    --cc=wangnan0@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).