From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752287AbcFLG3E (ORCPT ); Sun, 12 Jun 2016 02:29:04 -0400 Received: from mail-pa0-f46.google.com ([209.85.220.46]:35583 "EHLO mail-pa0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751242AbcFLG3B (ORCPT ); Sun, 12 Jun 2016 02:29:01 -0400 Subject: Re: [PATCH v8 2/5] perf config: Bring declarations about config from util/cache.h to util/config.h To: Arnaldo Carvalho de Melo , Jiri Olsa , Namhyung Kim References: <1465389413-8936-1-git-send-email-treeze.taeung@gmail.com> <1465389413-8936-3-git-send-email-treeze.taeung@gmail.com> <20160609132957.GI11589@kernel.org> <575A5C3B.2010804@gmail.com> <20160610190652.GD3826@kernel.org> <575B6262.6030607@gmail.com> Cc: linux-kernel@vger.kernel.org, Ingo Molnar , Peter Zijlstra , Alexander Shishkin , Masami Hiramatsu , Wang Nan , Jiri Olsa From: Taeung Song Message-ID: <575D0127.30008@gmail.com> Date: Sun, 12 Jun 2016 15:28:55 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <575B6262.6030607@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 >>>>> +#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