During sched domain init, we check whether non-topological SD_flags are returned by tl->sd_flags(), if found, fire a waning and correct the violation, but the code failed to correct the violation. Correct this. Fixes: 143e1e28cb40 ("sched: Rework sched_domain topology definition") Signed-off-by: Peng Liu <iwtbavbm@gmail.com> --- kernel/sched/topology.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c index ba81187bb7af..9079d865a935 100644 --- a/kernel/sched/topology.c +++ b/kernel/sched/topology.c @@ -1328,7 +1328,7 @@ sd_init(struct sched_domain_topology_level *tl, sd_flags = (*tl->sd_flags)(); if (WARN_ONCE(sd_flags & ~TOPOLOGY_SD_FLAGS, "wrong sd_flags in topology description\n")) - sd_flags &= ~TOPOLOGY_SD_FLAGS; + sd_flags &= TOPOLOGY_SD_FLAGS; /* Apply detected topology flags */ sd_flags |= dflags; -- 2.20.1
On Tue, 9 Jun 2020 at 17:09, Peng Liu <iwtbavbm@gmail.com> wrote: > > During sched domain init, we check whether non-topological SD_flags are > returned by tl->sd_flags(), if found, fire a waning and correct the > violation, but the code failed to correct the violation. Correct this. > > Fixes: 143e1e28cb40 ("sched: Rework sched_domain topology definition") > Signed-off-by: Peng Liu <iwtbavbm@gmail.com> Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org> > --- > kernel/sched/topology.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c > index ba81187bb7af..9079d865a935 100644 > --- a/kernel/sched/topology.c > +++ b/kernel/sched/topology.c > @@ -1328,7 +1328,7 @@ sd_init(struct sched_domain_topology_level *tl, > sd_flags = (*tl->sd_flags)(); > if (WARN_ONCE(sd_flags & ~TOPOLOGY_SD_FLAGS, > "wrong sd_flags in topology description\n")) > - sd_flags &= ~TOPOLOGY_SD_FLAGS; > + sd_flags &= TOPOLOGY_SD_FLAGS; > > /* Apply detected topology flags */ > sd_flags |= dflags; > -- > 2.20.1 >
On 09/06/20 16:09, Peng Liu wrote: > During sched domain init, we check whether non-topological SD_flags are > returned by tl->sd_flags(), if found, fire a waning and correct the ^^^^^^ s/waning/warning/ > violation, but the code failed to correct the violation. Correct this. > > Fixes: 143e1e28cb40 ("sched: Rework sched_domain topology definition") > Signed-off-by: Peng Liu <iwtbavbm@gmail.com> Reviewed-by: Valentin Schneider <valentin.schneider@arm.com> > --- > kernel/sched/topology.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c > index ba81187bb7af..9079d865a935 100644 > --- a/kernel/sched/topology.c > +++ b/kernel/sched/topology.c > @@ -1328,7 +1328,7 @@ sd_init(struct sched_domain_topology_level *tl, > sd_flags = (*tl->sd_flags)(); > if (WARN_ONCE(sd_flags & ~TOPOLOGY_SD_FLAGS, > "wrong sd_flags in topology description\n")) > - sd_flags &= ~TOPOLOGY_SD_FLAGS; > + sd_flags &= TOPOLOGY_SD_FLAGS; > > /* Apply detected topology flags */ > sd_flags |= dflags;
The following commit has been merged into the sched/core branch of tip: Commit-ID: 9b1b234bb86bcdcdb142e900d39b599185465dbb Gitweb: https://git.kernel.org/tip/9b1b234bb86bcdcdb142e900d39b599185465dbb Author: Peng Liu <iwtbavbm@gmail.com> AuthorDate: Tue, 09 Jun 2020 23:09:36 +08:00 Committer: Peter Zijlstra <peterz@infradead.org> CommitterDate: Mon, 15 Jun 2020 14:10:04 +02:00 sched: correct SD_flags returned by tl->sd_flags() During sched domain init, we check whether non-topological SD_flags are returned by tl->sd_flags(), if found, fire a waning and correct the violation, but the code failed to correct the violation. Correct this. Fixes: 143e1e28cb40 ("sched: Rework sched_domain topology definition") Signed-off-by: Peng Liu <iwtbavbm@gmail.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org> Reviewed-by: Valentin Schneider <valentin.schneider@arm.com> Link: https://lkml.kernel.org/r/20200609150936.GA13060@iZj6chx1xj0e0buvshuecpZ --- kernel/sched/topology.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c index ba81187..9079d86 100644 --- a/kernel/sched/topology.c +++ b/kernel/sched/topology.c @@ -1328,7 +1328,7 @@ sd_init(struct sched_domain_topology_level *tl, sd_flags = (*tl->sd_flags)(); if (WARN_ONCE(sd_flags & ~TOPOLOGY_SD_FLAGS, "wrong sd_flags in topology description\n")) - sd_flags &= ~TOPOLOGY_SD_FLAGS; + sd_flags &= TOPOLOGY_SD_FLAGS; /* Apply detected topology flags */ sd_flags |= dflags;