sched: Move sched domain name out of CONFIG_SCHED_DEBUG

/proc/schedstat file shows cpu and sched domain level scheduler
statistics. It does not show domain name instead shows domain level.
It will be very useful for tools like `perf sched stats`[1] to
aggragate domain level stats if domain names are shown in /proc/schedstat.
But sched domain name is guarded by CONFIG_SCHED_DEBUG. As per the
discussion[2], move sched domain name out of CONFIG_SCHED_DEBUG.

[1] https://lore.kernel.org/lkml/20241122084452.1064968-1-swapnil.sapkal@amd.com/
[2] https://lore.kernel.org/lkml/fcefeb4d-3acb-462d-9c9b-3df8d927e522@amd.com/

Suggested-by: "Gautham R. Shenoy" <gautham.shenoy@amd.com>
Signed-off-by: Swapnil Sapkal <swapnil.sapkal@amd.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20241220063224.17767-5-swapnil.sapkal@amd.com
This commit is contained in:
Swapnil Sapkal 2024-12-20 06:32:22 +00:00 committed by Peter Zijlstra
parent 3b2a793ea7
commit 1c055a0f5d
2 changed files with 0 additions and 12 deletions

View File

@ -143,9 +143,7 @@ struct sched_domain {
unsigned int ttwu_move_affine; unsigned int ttwu_move_affine;
unsigned int ttwu_move_balance; unsigned int ttwu_move_balance;
#endif #endif
#ifdef CONFIG_SCHED_DEBUG
char *name; char *name;
#endif
union { union {
void *private; /* used during construction */ void *private; /* used during construction */
struct rcu_head rcu; /* used during destruction */ struct rcu_head rcu; /* used during destruction */
@ -201,18 +199,12 @@ struct sched_domain_topology_level {
int flags; int flags;
int numa_level; int numa_level;
struct sd_data data; struct sd_data data;
#ifdef CONFIG_SCHED_DEBUG
char *name; char *name;
#endif
}; };
extern void __init set_sched_topology(struct sched_domain_topology_level *tl); extern void __init set_sched_topology(struct sched_domain_topology_level *tl);
#ifdef CONFIG_SCHED_DEBUG
# define SD_INIT_NAME(type) .name = #type # define SD_INIT_NAME(type) .name = #type
#else
# define SD_INIT_NAME(type)
#endif
#else /* CONFIG_SMP */ #else /* CONFIG_SMP */

View File

@ -1635,9 +1635,7 @@ sd_init(struct sched_domain_topology_level *tl,
.max_newidle_lb_cost = 0, .max_newidle_lb_cost = 0,
.last_decay_max_lb_cost = jiffies, .last_decay_max_lb_cost = jiffies,
.child = child, .child = child,
#ifdef CONFIG_SCHED_DEBUG
.name = tl->name, .name = tl->name,
#endif
}; };
sd_span = sched_domain_span(sd); sd_span = sched_domain_span(sd);
@ -2338,10 +2336,8 @@ static struct sched_domain *build_sched_domain(struct sched_domain_topology_leve
if (!cpumask_subset(sched_domain_span(child), if (!cpumask_subset(sched_domain_span(child),
sched_domain_span(sd))) { sched_domain_span(sd))) {
pr_err("BUG: arch topology borken\n"); pr_err("BUG: arch topology borken\n");
#ifdef CONFIG_SCHED_DEBUG
pr_err(" the %s domain not a subset of the %s domain\n", pr_err(" the %s domain not a subset of the %s domain\n",
child->name, sd->name); child->name, sd->name);
#endif
/* Fixup, ensure @sd has at least @child CPUs. */ /* Fixup, ensure @sd has at least @child CPUs. */
cpumask_or(sched_domain_span(sd), cpumask_or(sched_domain_span(sd),
sched_domain_span(sd), sched_domain_span(sd),