diff --git a/kernel/sched/core.c b/kernel/sched/core.c index bc1638b..fc1eabe 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -5842,6 +5842,15 @@ build_sched_groups(struct sched_domain *sd, int cpu) continue; group = get_group(i, sdd, &sg); + + if (!cpumask_empty(sched_group_cpus(sg))) + printk("%s FAIL\n", __func__); + + printk("%s: got group %p with cpus: %pc\n", __func__, sg, + sched_group_cpus(sg)); + + cpumask_clear(sched_group_cpus(sg)); + sg->sgc->capacity = 0; cpumask_setall(sched_group_mask(sg)); for_each_cpu(j, span) { @@ -6403,6 +6412,8 @@ static int __sdt_alloc(const struct cpumask *cpu_map) if (!sg) return -ENOMEM; + printk("%s: allocated %p with cpus: %pc\n", + __func__, sg, sched_group_cpus(sg)); sg->next = sg; *per_cpu_ptr(sdd->sg, j) = sg; diff --git a/lib/vsprintf.c b/lib/vsprintf.c index 6fe2c84..168bea5 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include /* for PAGE_SIZE */ @@ -1389,6 +1390,8 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr, return dentry_name(buf, end, ((const struct file *)ptr)->f_path.dentry, spec, fmt); + case 'c': + return buf + cpulist_scnprintf(buf, end-buf, ptr); } spec.flags |= SMALL; if (spec.field_width == -1) {