From: Li Zefan <lizefan@huawei.com>
To: Stephane Eranian <eranian@google.com>
Cc: Ingo Molnar <mingo@kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
Cgroups <cgroups@vger.kernel.org>,
Peter Zijlstra <peterz@infradead.org>, Tejun Heo <tj@kernel.org>
Subject: Re: [PATCH] perf: remove include of cgroup.h from perf_event.h
Date: Tue, 5 Mar 2013 18:37:12 +0800 [thread overview]
Message-ID: <5135CAD8.2020409@huawei.com> (raw)
In-Reply-To: <CABPqkBTTn6E=FS6WiCWopcScHDVa9F6bu5-pw8Ma7TK2aunkvQ@mail.gmail.com>
On 2013/3/5 16:33, Stephane Eranian wrote:
> On Tue, Mar 5, 2013 at 4:38 AM, Li Zefan <lizefan@huawei.com> wrote:
>> Move struct perf_cgroup_info and perf_cgroup to kernel/perf/core.c,
>> and then we can remove include of cgroup.h.
>>
>> Signed-off-by: Li Zefan <lizefan@huawei.com>
>> ---
>> include/linux/perf_event.h | 18 +-----------------
>> kernel/events/core.c | 15 +++++++++++++++
>> 2 files changed, 16 insertions(+), 17 deletions(-)
>>
>> diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
>> index e47ee46..8737e1c 100644
>> --- a/include/linux/perf_event.h
>> +++ b/include/linux/perf_event.h
>> @@ -21,7 +21,6 @@
>> */
>>
>> #ifdef CONFIG_PERF_EVENTS
>> -# include <linux/cgroup.h>
>> # include <asm/perf_event.h>
>> # include <asm/local64.h>
>> #endif
>> @@ -299,22 +298,7 @@ struct swevent_hlist {
>> #define PERF_ATTACH_GROUP 0x02
>> #define PERF_ATTACH_TASK 0x04
>>
>> -#ifdef CONFIG_CGROUP_PERF
>> -/*
>> - * perf_cgroup_info keeps track of time_enabled for a cgroup.
>> - * This is a per-cpu dynamically allocated data structure.
>> - */
>> -struct perf_cgroup_info {
>> - u64 time;
>> - u64 timestamp;
>> -};
>> -
>> -struct perf_cgroup {
>> - struct cgroup_subsys_state css;
>> - struct perf_cgroup_info *info; /* timing info, one per cpu */
>> -};
>> -#endif
>> -
>> +struct perf_cgroup;
>
> The problem is that you have struct perf_cgroup in the struct perf_event
> structure. Today, this field is not referenced outside of kernel/events/core.c
> But it is available outside this file. If someday the field is reference, your
> changes will have to do reverted. So I am wondering what is the point
> of the change right now?
>
I touch cgroup.h quite frequently, so I'd like to reduce the compile time caused
by cgroup.h changes, so I've made a few patches to remove cgroup.h from some
header files.
It's better to expose as less interfaces as possible, and if someone wants to
export someting he should think about if it's the right thing to do.
Like we often make static functions usable to external users, and also often do the
reverse thing, this patch is nothing special.
next prev parent reply other threads:[~2013-03-05 10:37 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-05 3:38 [PATCH] perf: remove include of cgroup.h from perf_event.h Li Zefan
2013-03-05 8:33 ` Stephane Eranian
2013-03-05 10:37 ` Li Zefan [this message]
2013-03-05 17:36 ` Tejun Heo
2013-03-06 10:31 ` Ingo Molnar
2013-03-06 11:20 ` Stephane Eranian
2013-03-06 14:43 ` [tip:perf/core] perf: Remove " tip-bot for Li Zefan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5135CAD8.2020409@huawei.com \
--to=lizefan@huawei.com \
--cc=cgroups@vger.kernel.org \
--cc=eranian@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox