Re: [PATCH v8 2/5] perf config: Bring declarations about config from util/cache.h to util/config.h

From: Taeung Song
Date: Sun Jun 12 2016 - 02:29:11 EST


Hi,

I have a question about header files.

I'm cleaning up source files that used cache.h
after moving codes about config from cache.h to config.h.

But I found there are header files that are repeatedly declared over all.

For example, builtin-report.c include util/sort.h,
perf.h, util/util.h, util/cache.h and etc.
However, util/sort.h also have #include "cache.h"
and cache.h even include util.h and perf.h.

Isn't this a problem (but this is minor) ?

Of course, this patch don't need to contain codes
to fix this above problem.

Should we fix this problem ?
(If we do, I'd individually send patches for this problem.)


Thanks,
Taeung

On 06/11/2016 09:59 AM, Taeung Song wrote:
Good evening :)

On 06/11/2016 04:06 AM, Arnaldo Carvalho de Melo wrote:
Em Fri, Jun 10, 2016 at 03:20:43PM +0900, Taeung Song escreveu:
On 06/09/2016 10:29 PM, Arnaldo Carvalho de Melo wrote:
+++ b/tools/perf/util/cache.h
@@ -7,6 +7,7 @@
#include <subcmd/pager.h>
+#include "config.h"

Why have you added that? Are those config functions used in cache.h?

Yes, it does. Many source files include cache.h
e.g. builtin-annoate.c, util/color.c, builtin-report.c and etc.
And They can use perf_config() function including this header file.

So, If I totally eliminate not only declarations about config
but also #include "util/config.h" at util/cache.h,
we should add '#include "util/config.h"' to each source file that
need perf_config() overall.

Sure, that is how we should do it. We should not include cache.h just to
get what is in config.h, we should instead include config.h.

This way when we do a change to cache.h we will not be rebuilding all
those files that depend on it just to get config.h.

What you're doing, removing from cache.h things that shouldn't be there
in the first place is good, among other things, because of that.


Granted!
I've also experienced the situation all those files which include cache.h
are rebuilt after I changed cache.h.
It also seems a problem as you mention.

So, I'll send this patch that reflect what you said with v9.

Have a nice weekend :-D

Thanks,
Taeung