From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756113AbcA2NCt (ORCPT ); Fri, 29 Jan 2016 08:02:49 -0500 Received: from szxga02-in.huawei.com ([119.145.14.65]:34966 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756058AbcA2NCs (ORCPT ); Fri, 29 Jan 2016 08:02:48 -0500 Message-ID: <56AB62DB.1070807@huawei.com> Date: Fri, 29 Jan 2016 21:02:19 +0800 From: "Wangnan (F)" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: , CC: , Jiri Olsa , "Arnaldo Carvalho de Melo" , Namhyung Kim Subject: Re: [PATCH update] perf build: Use feature dump file for build-test References: <1454068269-235999-1-git-send-email-wangnan0@huawei.com> In-Reply-To: <1454068269-235999-1-git-send-email-wangnan0@huawei.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.111.66.109] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090203.56AB62E2.0122,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: c55ef893cfb41c9ce88542fea9958fba Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > Cc: Jiri Olsa > Cc: Arnaldo Carvalho de Melo > Cc: Namhyung Kim > --- > 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