From: Chen Yu <yu.c.chen@intel.com>
To: kprateek.nayak@amd.com, tim.c.chen@linux.intel.com, peterz@infradead.org
Cc: pan.deng@intel.com, mingo@kernel.org,
linux-kernel@vger.kernel.org, tianyou.li@intel.com,
Chen Yu <yu.c.chen@intel.com>
Subject: [PATCH 1/3] x86/sbm: Fix domain shift calculation and sbm_find_next_bit()
Date: Sun, 10 May 2026 23:59:17 +0800 [thread overview]
Message-ID: <20260510155920.2587431-2-yu.c.chen@intel.com> (raw)
In-Reply-To: <20260510155920.2587431-1-yu.c.chen@intel.com>
---
arch/x86/kernel/cpu/topology.c | 2 +-
include/linux/sbm.h | 2 +-
lib/sbm.c | 6 +++---
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/x86/kernel/cpu/topology.c b/arch/x86/kernel/cpu/topology.c
index 6f3d18288600..751b7517f2d5 100644
--- a/arch/x86/kernel/cpu/topology.c
+++ b/arch/x86/kernel/cpu/topology.c
@@ -565,7 +565,7 @@ void __init topology_init_possible_cpus(void)
for_each_possible_cpu(cpu)
apicid = max(apicid, cpuid_to_apicid[cpu]);
- arch_sbm_shift = x86_topo_system.dom_shifts[TOPO_DIE_DOMAIN] - 1;
+ arch_sbm_shift = x86_topo_system.dom_shifts[TOPO_DIE_DOMAIN - 1];
arch_sbm_leafs = 1 + (apicid >> arch_sbm_shift);
arch_sbm_mask = (1 << arch_sbm_shift) - 1;
arch_sbm_bits = arch_sbm_shift;
diff --git a/include/linux/sbm.h b/include/linux/sbm.h
index 8beade6c0585..a25a96366694 100644
--- a/include/linux/sbm.h
+++ b/include/linux/sbm.h
@@ -36,7 +36,7 @@ struct sbm {
};
extern struct sbm *sbm_alloc(void);
-extern unsigned int sbm_find_next_bit(struct sbm *sbm, int start);
+extern int sbm_find_next_bit(struct sbm *sbm, int start);
#define __sbm_op(sbm, func) \
({ \
diff --git a/lib/sbm.c b/lib/sbm.c
index 167cf857cd32..8006f9b04b62 100644
--- a/lib/sbm.c
+++ b/lib/sbm.c
@@ -34,7 +34,7 @@ struct sbm *sbm_alloc(void)
return NULL;
}
-unsigned int sbm_find_next_bit(struct sbm *sbm, int start)
+int sbm_find_next_bit(struct sbm *sbm, int start)
{
struct sbm_leaf *leaf = (void *)sbm;
struct sbm_root *root = (void *)sbm;
@@ -45,8 +45,8 @@ unsigned int sbm_find_next_bit(struct sbm *sbm, int start)
for (; nr < arch_sbm_leafs; nr++, mask = ~0UL) {
leaf = root->leafs[nr];
tmp = leaf->bitmap & mask;
- if (!tmp)
- continue;
+ if (tmp)
+ break;
}
} else {
tmp = leaf->bitmap & mask;
--
2.25.1
next prev parent reply other threads:[~2026-05-10 16:08 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <729726b9-c669-41e2-887d-bdf9da703034@amd.com>
2026-05-10 15:59 ` [PATCH v2 1/4] sched/rt: Optimize cpupri_vec layout to mitigate cache line contention Chen Yu
2026-05-10 15:59 ` Chen Yu [this message]
2026-05-10 15:59 ` [PATCH 2/3] lib/sbm: Use dynamically sized bitmap in sbm_leaf Chen Yu
2026-05-10 15:59 ` [PATCH 3/3] x86/sbm: Derive leaf granularity from LLC cacheinfo instead of topology domain Chen Yu
2026-05-11 7:48 ` K Prateek Nayak
2026-05-12 9:29 ` Chen, Yu C
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=20260510155920.2587431-2-yu.c.chen@intel.com \
--to=yu.c.chen@intel.com \
--cc=kprateek.nayak@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=pan.deng@intel.com \
--cc=peterz@infradead.org \
--cc=tianyou.li@intel.com \
--cc=tim.c.chen@linux.intel.com \
/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