* Jeff Garzik <jeff@xxxxxxxxxx> wrote:
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.
Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx>
good spotting, i'll apply this fix, but:
*/
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
This block has a visible imbalance of preprocessor directives - there's a #else you moved, without moving the outermost #ifdef. My guess is that this will go down in a fireball with CONFIG_GROUP_SCHED disabled?