From: "Wangnan (F)" <wangnan0@huawei.com>
To: <jolsa@redhat.com>, <acme@kernel.org>
Cc: <linux-kernel@vger.kernel.org>, Jiri Olsa <jolsa@kernel.org>,
"Arnaldo Carvalho de Melo" <acme@redhat.com>,
Namhyung Kim <namhyung@kernel.org>
Subject: Re: [PATCH update] perf build: Use feature dump file for build-test
Date: Fri, 29 Jan 2016 21:02:19 +0800 [thread overview]
Message-ID: <56AB62DB.1070807@huawei.com> (raw)
In-Reply-To: <1454068269-235999-1-git-send-email-wangnan0@huawei.com>
I tested this patch in my platform with
$ make build-test
$ make -f ./tests/make
All test cases passed for me.
Thank you.
On 2016/1/29 19:51, Wang Nan wrote:
> To prevent feature check run too many times, this patch utilizes
> previous introduced feature-dump make target and FEATURES_DUMP
> variable, makes sure the feature checkers run only once when doing
> build-test for normal test cases.
>
> However, since standard users doesn't reuse features dump result, we'd
> better give an option to check their behaviors. The above feature
> should be used to make build-test faster only. Only utilize it for
> build-test.
>
> Signed-off-by: Wang Nan <wangnan0@huawei.com>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
> Cc: Namhyung Kim <namhyung@kernel.org>
> ---
> tools/perf/Makefile | 2 +-
> tools/perf/tests/make | 33 +++++++++++++++++++++++++++++++++
> 2 files changed, 34 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/Makefile b/tools/perf/Makefile
> index dcd9a70..e4ff0bd 100644
> --- a/tools/perf/Makefile
> +++ b/tools/perf/Makefile
> @@ -78,7 +78,7 @@ clean:
> # The build-test target is not really parallel, don't print the jobs info:
> #
> build-test:
> - @$(MAKE) SHUF=1 -f tests/make --no-print-directory
> + @$(MAKE) SHUF=1 -f tests/make REUSE_FEATURES_DUMP=1 --no-print-directory
>
> #
> # All other targets get passed through:
> diff --git a/tools/perf/tests/make b/tools/perf/tests/make
> index f918015..7f663f4 100644
> --- a/tools/perf/tests/make
> +++ b/tools/perf/tests/make
> @@ -15,6 +15,7 @@ else
> PERF := .
> PERF_O := $(PERF)
> O_OPT :=
> +FULL_O := $(shell readlink -f $(PERF_O) || echo $(PERF_O))
>
> ifneq ($(O),)
> FULL_O := $(shell readlink -f $(O) || echo $(O))
> @@ -313,11 +314,43 @@ make_kernelsrc_tools:
> (make -C ../../tools $(PARALLEL_OPT) $(K_O_OPT) perf) > $@ 2>&1 && \
> test -x $(KERNEL_O)/tools/perf/perf && rm -f $@ || (cat $@ ; false)
>
> +FEATURES_DUMP_FILE := $(FULL_O)/BUILD_TEST_FEATURE_DUMP
> +FEATURES_DUMP_FILE_STATIC := $(FULL_O)/BUILD_TEST_FEATURE_DUMP_STATIC
> +
> all: $(run) $(run_O) tarpkg make_kernelsrc make_kernelsrc_tools
> @echo OK
> + @rm -f $(FEATURES_DUMP_FILE) $(FEATURES_DUMP_FILE_STATIC)
>
> out: $(run_O)
> @echo OK
> + @rm -f $(FEATURES_DUMP_FILE) $(FEATURES_DUMP_FILE_STATIC)
> +
> +ifeq ($(REUSE_FEATURES_DUMP),1)
> +$(FEATURES_DUMP_FILE):
> + $(call clean)
> + @cmd="cd $(PERF) && make FEATURE_DUMP_COPY=$@ $(O_OPT) feature-dump"; \
> + echo "- $@: $$cmd" && echo $$cmd && \
> + ( eval $$cmd ) > /dev/null 2>&1
> +
> +$(FEATURES_DUMP_FILE_STATIC):
> + $(call clean)
> + @cmd="cd $(PERF) && make FEATURE_DUMP_COPY=$@ $(O_OPT) LDFLAGS='-static' feature-dump"; \
> + echo "- $@: $$cmd" && echo $$cmd && \
> + ( eval $$cmd ) > /dev/null 2>&1
> +
> +# Add feature dump dependency for run/run_O targets
> +$(foreach t,$(run) $(run_O),$(eval \
> + $(t): $(if $(findstring make_static,$(t)),\
> + $(FEATURES_DUMP_FILE_STATIC),\
> + $(FEATURES_DUMP_FILE))))
> +
> +# Append 'FEATURES_DUMP=' option to all test cases. For example:
> +# make_no_libbpf: NO_LIBBPF=1 --> NO_LIBBPF=1 FEATURES_DUMP=/a/b/BUILD_TEST_FEATURE_DUMP
> +# make_static: LDFLAGS=-static --> LDFLAGS=-static FEATURES_DUMP=/a/b/BUILD_TEST_FEATURE_DUMP_STATIC
> +$(foreach t,$(run),$(if $(findstring make_static,$(t)),\
> + $(eval $(t) := $($(t)) FEATURES_DUMP=$(FEATURES_DUMP_FILE_STATIC)),\
> + $(eval $(t) := $($(t)) FEATURES_DUMP=$(FEATURES_DUMP_FILE))))
> +endif
>
> .PHONY: all $(run) $(run_O) tarpkg clean make_kernelsrc make_kernelsrc_tools
> endif # ifndef MK
next prev parent reply other threads:[~2016-01-29 13:02 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-29 11:51 [PATCH update] perf build: Use feature dump file for build-test Wang Nan
2016-01-29 13:02 ` Wangnan (F) [this message]
2016-01-29 14:53 ` Arnaldo Carvalho de Melo
2016-02-03 10:16 ` [tip:perf/core] " tip-bot for Wang Nan
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=56AB62DB.1070807@huawei.com \
--to=wangnan0@huawei.com \
--cc=acme@kernel.org \
--cc=acme@redhat.com \
--cc=jolsa@kernel.org \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=namhyung@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.