Re: [PATCH v4 05/10] sched/topology: Define and assign sched_domain flag metadata
From: Ingo Molnar
Date: Thu Aug 06 2020 - 13:06:41 EST
* Valentin Schneider <valentin.schneider@xxxxxxx> wrote:
> +#ifndef SD_FLAG
> +#define SD_FLAG(x, y, z)
> +#endif
AFAICS there's not a single use of sd_flags.h that doesn't come with
its own SD_FLAG definition, so I suppose this should be:
#ifndef SD_FLAG
# error "Should not happen."
#endif
?
Also, some nits:
> +/*
> + * Expected flag uses
> + *
> + * SHARED_CHILD: These flags are meant to be set from the base domain upwards.
> + * If a domain has this flag set, all of its children should have it set. This
> + * is usually because the flag describes some shared resource (all CPUs in that
> + * domain share the same foobar), or because they are tied to a scheduling
> + * behaviour that we want to disable at some point in the hierarchy for
> + * scalability reasons.
s/foobar/resource
?
> +/*
> + * cross-node balancing
> + *
> + * SHARED_PARENT: Set for all NUMA levels above NODE.
> + */
> +SD_FLAG(SD_NUMA, 12, SDF_SHARED_PARENT)
s/cross-node/Cross-node
BTW., is there any particular reason why these need to be defines with
a manual enumeration of flag values - couldn't we generate
auto-enumerated C enums instead or so?
> +#ifdef CONFIG_SCHED_DEBUG
> +#define SD_FLAG(_name, idx, mflags) [idx] = {.meta_flags = mflags, .name = #_name},
s/{./{ .
s/e}/e }
Thanks,
Ingo