|
@@ -839,7 +839,17 @@ struct sched_group {
|
|
|
*/
|
|
|
u32 reciprocal_cpu_power;
|
|
|
|
|
|
- unsigned long cpumask[];
|
|
|
+ /*
|
|
|
+ * The CPUs this group covers.
|
|
|
+ *
|
|
|
+ * NOTE: this field is variable length. (Allocated dynamically
|
|
|
+ * by attaching extra space to the end of the structure,
|
|
|
+ * depending on how many CPUs the kernel has booted up with)
|
|
|
+ *
|
|
|
+ * It is also be embedded into static data structures at build
|
|
|
+ * time. (See 'struct static_sched_group' in kernel/sched.c)
|
|
|
+ */
|
|
|
+ unsigned long cpumask[0];
|
|
|
};
|
|
|
|
|
|
static inline struct cpumask *sched_group_cpus(struct sched_group *sg)
|
|
@@ -925,8 +935,17 @@ struct sched_domain {
|
|
|
char *name;
|
|
|
#endif
|
|
|
|
|
|
- /* span of all CPUs in this domain */
|
|
|
- unsigned long span[];
|
|
|
+ /*
|
|
|
+ * Span of all CPUs in this domain.
|
|
|
+ *
|
|
|
+ * NOTE: this field is variable length. (Allocated dynamically
|
|
|
+ * by attaching extra space to the end of the structure,
|
|
|
+ * depending on how many CPUs the kernel has booted up with)
|
|
|
+ *
|
|
|
+ * It is also be embedded into static data structures at build
|
|
|
+ * time. (See 'struct static_sched_domain' in kernel/sched.c)
|
|
|
+ */
|
|
|
+ unsigned long span[0];
|
|
|
};
|
|
|
|
|
|
static inline struct cpumask *sched_domain_span(struct sched_domain *sd)
|