Re: [RFC 6/6] perf build: Introduce FEATURES_DUMP make variable

From: Wangnan (F)
Date: Wed Jan 13 2016 - 04:46:44 EST




On 2016/1/13 17:19, Jiri Olsa wrote:
On Tue, Jan 12, 2016 at 05:28:28PM +0800, Wangnan (F) wrote:

SNIP

For example:

$ make feature-dump LDFLAGS="-static"
BUILD: Doing 'make -j24' parallel build

Auto-detecting system features:
<SNIP>
... zlib: [ on ]
... lzma: [ OFF ] <--- looks good. I don't have
static lzma library
... get_cpuid: [ on ]
... bpf: [ on ]


$ make feature-dump
BUILD: Doing 'make -j24' parallel build

Auto-detecting system features:
<SNIP>
... zlib: [ on ]
... lzma: [ on ] <--- also good
... get_cpuid: [ on ]
... bpf: [ on ]


$ make feature-dump LDFLAGS="-static"
BUILD: Doing 'make -j24' parallel build

Auto-detecting system features:
<SNIP>
... zlib: [ on ]
... lzma: [ on ] <--- Bad...
... get_cpuid: [ on ]
... bpf: [ on ]

Thank you.
right, it's because feature is not under build framework and
compilation does not care about flags change..

I'll try to check on that.. does this patch help to improve
the current speed or do you need to solve this to get substantial
speedup?

I'm working on it. I have already done it, but still have some
problem. On some machine 'make_static' test target lost
'-liberty -lz' in its linker options. Seems something wrong in
this part:

ifeq ($(feature-libbfd), 1)
EXTLIBS += -lbfd

# call all detections now so we get correct
# status in VF output
$(call feature_check,liberty)
$(call feature_check,liberty-z)
$(call feature_check,cplus-demangle)

ifeq ($(feature-liberty), 1)
EXTLIBS += -liberty
else
ifeq ($(feature-liberty-z), 1)
EXTLIBS += -liberty -lz
endif
endif
endif

On a 24 core machine the build-test takes about 16 mins. Faster than before:

real 16m7.642s
user 171m47.488s
sys 19m10.692s