From: "tip-bot2 for Valentin Schneider" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Valentin Schneider <valentin.schneider@arm.com>,
Ingo Molnar <mingo@kernel.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Peter Zijlstra <a.p.zijlstra@chello.nl>, x86 <x86@kernel.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: [tip: sched/core] sched/topology: Verify SD_* flags setup when sched_debug is on
Date: Wed, 19 Aug 2020 14:02:48 -0000 [thread overview]
Message-ID: <159784576893.3192.14095927002561810967.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20200817113003.20802-6-valentin.schneider@arm.com>
The following commit has been merged into the sched/core branch of tip:
Commit-ID: 65c5e253168dbbb52c20026b0c5b7a2f344b9197
Gitweb: https://git.kernel.org/tip/65c5e253168dbbb52c20026b0c5b7a2f344b9197
Author: Valentin Schneider <valentin.schneider@arm.com>
AuthorDate: Mon, 17 Aug 2020 12:29:51 +01:00
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Wed, 19 Aug 2020 10:49:48 +02:00
sched/topology: Verify SD_* flags setup when sched_debug is on
Now that we have some description of what we expect the flags layout to
be, we can use that to assert at runtime that the actual layout is sane.
Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: https://lore.kernel.org/r/20200817113003.20802-6-valentin.schneider@arm.com
---
kernel/sched/topology.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index fe03969..cbdaf08 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -29,6 +29,8 @@ static int sched_domain_debug_one(struct sched_domain *sd, int cpu, int level,
struct cpumask *groupmask)
{
struct sched_group *group = sd->groups;
+ unsigned long flags = sd->flags;
+ unsigned int idx;
cpumask_clear(groupmask);
@@ -43,6 +45,21 @@ static int sched_domain_debug_one(struct sched_domain *sd, int cpu, int level,
printk(KERN_ERR "ERROR: domain->groups does not contain CPU%d\n", cpu);
}
+ for_each_set_bit(idx, &flags, __SD_FLAG_CNT) {
+ unsigned int flag = BIT(idx);
+ unsigned int meta_flags = sd_flag_debug[idx].meta_flags;
+
+ if ((meta_flags & SDF_SHARED_CHILD) && sd->child &&
+ !(sd->child->flags & flag))
+ printk(KERN_ERR "ERROR: flag %s set here but not in child\n",
+ sd_flag_debug[idx].name);
+
+ if ((meta_flags & SDF_SHARED_PARENT) && sd->parent &&
+ !(sd->parent->flags & flag))
+ printk(KERN_ERR "ERROR: flag %s set here but not in parent\n",
+ sd_flag_debug[idx].name);
+ }
+
printk(KERN_DEBUG "%*s groups:", level + 1, "");
do {
if (!group) {
next prev parent reply other threads:[~2020-08-19 14:05 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-17 11:29 [PATCH v6 00/17] sched: Instrument sched domain flags Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 01/17] ARM, sched/topology: Remove SD_SHARE_POWERDOMAIN Valentin Schneider
2020-08-19 14:02 ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 02/17] ARM: Revert back to default scheduler topology Valentin Schneider
2020-08-19 14:02 ` [tip: sched/core] ARM, sched/topology: " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 03/17] sched/topology: Split out SD_* flags declaration to its own file Valentin Schneider
2020-08-19 14:02 ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 04/17] sched/topology: Define and assign sched_domain flag metadata Valentin Schneider
2020-08-19 14:02 ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 05/17] sched/topology: Verify SD_* flags setup when sched_debug is on Valentin Schneider
2020-08-19 14:02 ` tip-bot2 for Valentin Schneider [this message]
2020-08-17 11:29 ` [PATCH v6 06/17] sched/debug: Output SD flag names rather than their values Valentin Schneider
2020-08-19 14:02 ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 07/17] sched/topology: Introduce SD metaflag for flags needing > 1 groups Valentin Schneider
2020-08-19 14:02 ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 08/17] sched/topology: Use prebuilt SD flag degeneration mask Valentin Schneider
2020-08-19 14:02 ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 09/17] sched/topology: Remove SD_SERIALIZE degeneration special case Valentin Schneider
2020-08-19 14:02 ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 10/17] sched/topology: Propagate SD_ASYM_CPUCAPACITY upwards Valentin Schneider
2020-08-19 14:02 ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 11/17] sched/topology: Mark SD_PREFER_SIBLING as SDF_NEEDS_GROUPS Valentin Schneider
2020-08-19 14:02 ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 12/17] sched/topology: Mark SD_BALANCE_WAKE " Valentin Schneider
2020-08-19 14:02 ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:29 ` [PATCH v6 13/17] sched/topology: Mark SD_SERIALIZE " Valentin Schneider
2020-08-19 14:02 ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:30 ` [PATCH v6 14/17] sched/topology: Mark SD_ASYM_PACKING " Valentin Schneider
2020-08-19 14:02 ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:30 ` [PATCH v6 15/17] sched/topology: Mark SD_OVERLAP " Valentin Schneider
2020-08-19 14:02 ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:30 ` [PATCH v6 16/17] sched/topology: Mark SD_NUMA " Valentin Schneider
2020-08-19 14:02 ` [tip: sched/core] " tip-bot2 for Valentin Schneider
2020-08-17 11:30 ` [PATCH v6 17/17] sched/topology: Expand use of SD_DEGENERATE_GROUPS_MASK to flags not needing groups Valentin Schneider
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=159784576893.3192.14095927002561810967.tip-bot2@tip-bot2 \
--to=tip-bot2@linutronix.de \
--cc=a.p.zijlstra@chello.nl \
--cc=dietmar.eggemann@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=valentin.schneider@arm.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®