Re: [RFC PATCH 00/50] tools/perf: Speed up the build system

From: David Ahern
Date: Mon Oct 07 2013 - 21:41:47 EST


On 10/7/13 10:41 AM, Ingo Molnar wrote:

* David Ahern <dsahern@xxxxxxxxx> wrote:

I also noticed that the dwarf test is still run even with the NO_DWARF
option passed in:

[daahern@nxos-vdc-dev1 perf]$ make O=/tmp/junk LDFLAGS=-static
NO_DWARF=1 -j 4
BUILD: Doing 'make -j16' parallel build

Auto-detecting system features:

... backtrace: [ on ]
... dwarf: [ on ]
... fortify-source: [ on ]

Note the dwarf test shows 'on'.

Hm, yes.

This is just the print-out though - the actual feature logic should still
follow the NO_DWARF=1 setting (modulo bugs).

So I'm wondering, should we solve this by adding extra logic linking the
feature flags with their legacy names. It would get unwieldy rather
quickly I think.

yes.

Another solution would be to introduce a new method to disable features,
via something like:

make FEATURE_dwarf=0

Where the pattern would follow the auto-detected naming. This would
simplify the printout logic and would simplify the feature support / flags
decision tree as well.

Furthermore, it would unify the various flags we have today, which is
rather mixed: for example there's NO_DWARF which is a name that shows
negated logic, but there's also HAVE_CPLUS_DEMANGLE_SUPPORT is is a name
with positive logic. We'd have one uniform naming scheme permeating the
whole build system.

The Kconfig series converts all of the NO_XXXXX to CONFIG_XXXXX. I'd like to see that because it mirrors kernel configs and is a stepping stone to kconf integration.

If the NO_XXXX takes precedence over the autoprobe detection then the user gets what is asked, so I guess we can leave it as is for now.


And that brings in your [K]config patches: which would make sense in that
context as well, as they'd allow the permanent configuration of features
with 3 states for each feature flag:

off
auto-detect
on

Your scheme I think makes a lot of sense on top of my bits. Packagers
would likely want to use a .config to build perf, most users would likely
be fine with a default of everything on auto-detect. Specialized users
would want to use their own .config's.

Yes. This series helps with the auto-probing config option. Jiri has done quite a bit in this direction as well. Once this set goes in I'll see if I can find some time to revisit the kconf stuff - unless Jiri beats me to it. We have been overlapping on a few features. ;-)

David

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/