Commit-ID: c5e1b572f8ff5ed9cb3c0c6a1141de313dea5882 Gitweb: http://git.kernel.org/tip/c5e1b572f8ff5ed9cb3c0c6a1141de313dea5882 Author: Jeff Garzik <jeff@xxxxxxxxxx> AuthorDate: Mon, 11 May 2009 16:02:13 -0400 Committer: Ingo Molnar <mingo@xxxxxxx> CommitDate: Mon, 11 May 2009 22:53:50 +0200 kernel/{sched, smp}.c: fix static decl prior to struct declaration According to C99 6.9.2p3, any declaration "static struct foo my_foo;" must follow the definition of struct foo. Apparently, gcc's lack of warning is a bug. v3: - fix compile breakage WRT root_task_group. v2: - fix ifdef imbalance, by moving entire USER_SCHED code block - indent cpp directives, to indicate nesting [ Impact: cleanup, fix for Sparse ] Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> Cc: viro@xxxxxxxxxxxxxxxxxx Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: roland@xxxxxxxxxx LKML-Reference: <20090511200213.GA8478@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> --- kernel/sched.c | 74 ++++++++++++++++++++++++++++---------------------------- kernel/smp.c | 4 +- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c index 26efa47..7afa517 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -303,48 +303,11 @@ struct task_group { struct list_head children; }; -#ifdef CONFIG_USER_SCHED - -/* Helper function to pass uid information to create_sched_user() */ -void set_tg_uid(struct user_struct *user) -{ - user->tg->uid = user->uid; -} - -/* - * Root task group. - * Every UID task group (including init_task_group aka UID-0) will - * be a child to this group. - */ -struct task_group root_task_group; - -#ifdef CONFIG_FAIR_GROUP_SCHED -/* Default task group's sched entity on each cpu */ -static DEFINE_PER_CPU(struct sched_entity, init_sched_entity); -/* Default task group's cfs_rq on each cpu */ -static DEFINE_PER_CPU(struct cfs_rq, init_cfs_rq) ____cacheline_aligned_in_smp; -#endif /* CONFIG_FAIR_GROUP_SCHED */ - -#ifdef CONFIG_RT_GROUP_SCHED -static DEFINE_PER_CPU(struct sched_rt_entity, init_sched_rt_entity); -static DEFINE_PER_CPU(struct rt_rq, init_rt_rq) ____cacheline_aligned_in_smp; -#endif /* CONFIG_RT_GROUP_SCHED */ -#else /* !CONFIG_USER_SCHED */ -#define root_task_group init_task_group -#endif /* CONFIG_USER_SCHED */ - /* task_group_lock serializes add/remove of task groups and also changes to * a task group's cpu shares. */ static DEFINE_SPINLOCK(task_group_lock); -#ifdef CONFIG_SMP -static int root_task_group_empty(void) -{ - return list_empty(&root_task_group.children); -} -#endif - #ifdef CONFIG_FAIR_GROUP_SCHED #ifdef CONFIG_USER_SCHED # define INIT_TASK_GROUP_LOAD (2*NICE_0_LOAD) @@ -663,6 +626,43 @@ struct rq { static DEFINE_PER_CPU_SHARED_ALIGNED(struct rq, runqueues); +#ifdef CONFIG_USER_SCHED + +/* Helper function to pass uid information to create_sched_user() */ +void set_tg_uid(struct user_struct *user) +{ + user->tg->uid = user->uid; +} + +/* + * Root task group. + * Every UID task group (including init_task_group aka UID-0) will + * be a child to this group. + */ +struct task_group root_task_group; + +# ifdef CONFIG_FAIR_GROUP_SCHED +/* Default task group's sched entity on each cpu */ +static DEFINE_PER_CPU(struct sched_entity, init_sched_entity); +/* Default task group's cfs_rq on each cpu */ +static DEFINE_PER_CPU(struct cfs_rq, init_cfs_rq) ____cacheline_aligned_in_smp; +# endif /* CONFIG_FAIR_GROUP_SCHED */ + +# ifdef CONFIG_RT_GROUP_SCHED +static DEFINE_PER_CPU(struct sched_rt_entity, init_sched_rt_entity); +static DEFINE_PER_CPU(struct rt_rq, init_rt_rq) ____cacheline_aligned_in_smp; +# endif /* CONFIG_RT_GROUP_SCHED */ +#else /* !CONFIG_USER_SCHED */ +# define root_task_group init_task_group +#endif /* CONFIG_USER_SCHED */ + +#ifdef CONFIG_SMP +static int root_task_group_empty(void) +{ + return list_empty(&root_task_group.children); +} +#endif + static inline void check_preempt_curr(struct rq *rq, struct task_struct *p, int sync) { rq->curr->sched_class->check_preempt_curr(rq, p, sync); diff --git a/kernel/smp.c b/kernel/smp.c index 858baac..aba7bda 100644 --- a/kernel/smp.c +++ b/kernel/smp.c @@ -12,8 +12,6 @@ #include <linux/smp.h> #include <linux/cpu.h> -static DEFINE_PER_CPU(struct call_single_queue, call_single_queue); - static struct { struct list_head queue; spinlock_t lock; @@ -39,6 +37,8 @@ struct call_single_queue { spinlock_t lock; }; +static DEFINE_PER_CPU(struct call_single_queue, call_single_queue); + static DEFINE_PER_CPU(struct call_function_data, cfd_data) = { .lock = __SPIN_LOCK_UNLOCKED(cfd_data.lock), }; -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |