From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 885213ACA7A for ; Sun, 10 May 2026 16:08:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.20 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778429316; cv=none; b=gusHqpOF5rBe8nbJ7pi7EIJL+W0scifCFAWMfWm6DJ/ih7cxI5WGrjkMuqEkZDpaKTa+LOa83vHnp63g287buZfW3lORBfY7TLhYsnAwCv/6wJVVsJJ4X2PRB4axqraojxJ4qzBas/to1DM9bglylZISYIBBhVS5YpPZAaUTeu8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778429316; c=relaxed/simple; bh=Uk4vk2di9WmOxZm0ALKpHBMkgWgTbusCRV3PW1pNYnU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=onlcTKOWhAdOUzVjMyVSaVZ5Yrqbpc0jNA9ZmL0BwwcvLoZgLxKXO/zN3+4xiyfutISLDfRA8wWFocRt3V/ruJPsbH2FRIPl/X8WpVI+Lcf9yHlus01o57ChRs0Slz0UA/RBT/po+qmL4OH7i0KLfZ105GCEZPEqaxbfrcw63wM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=CP7vt9w2; arc=none smtp.client-ip=198.175.65.20 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="CP7vt9w2" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1778429315; x=1809965315; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Uk4vk2di9WmOxZm0ALKpHBMkgWgTbusCRV3PW1pNYnU=; b=CP7vt9w24Z+qIAbey5ZlRkhdH8RardQsttdWy/xfdsScVkEK20Ce8/eK VddhMRoolXH7ACpqIU61Ux8IbIzDaPZ5HMP8jnpQYHD+WCqvWeDD/Z5K7 a042AybnyCv+TDnEl9eNmqpn9Obbtxlp7ayeaziCu+PfVQnCkK49l/ZQU QTeuJoWOwakJ2yUUx0oerCk7F3hBSuTsa5W9ELHtITvEzQC4bwRpOKFLS AqtSgolfa8znr4Ce2lgqUQDFjHewmw0fytLdRDZNPQNqwTwygTlSyJ38h 8Yjja2hH1J5YNU24uk4S/pNPn86LyA8RvUldjmW+QPdSTlLxIGkvDywHu w==; X-CSE-ConnectionGUID: lNZuciL0StashHKerM/IVg== X-CSE-MsgGUID: 9WffTINKT/WrzC9DpqOUxg== X-IronPort-AV: E=McAfee;i="6800,10657,11782"; a="79056526" X-IronPort-AV: E=Sophos;i="6.23,227,1770624000"; d="scan'208";a="79056526" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 May 2026 09:08:35 -0700 X-CSE-ConnectionGUID: E3AuclIdQr+bRDY+tgBf2w== X-CSE-MsgGUID: VT5XIvf6TxODhAzOanzJ0Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,227,1770624000"; d="scan'208";a="230851398" Received: from chenyu-dev.sh.intel.com ([10.239.62.107]) by fmviesa009.fm.intel.com with ESMTP; 10 May 2026 09:08:33 -0700 From: Chen Yu 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 Subject: [PATCH 1/3] x86/sbm: Fix domain shift calculation and sbm_find_next_bit() Date: Sun, 10 May 2026 23:59:17 +0800 Message-Id: <20260510155920.2587431-2-yu.c.chen@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260510155920.2587431-1-yu.c.chen@intel.com> References: <729726b9-c669-41e2-887d-bdf9da703034@amd.com> <20260510155920.2587431-1-yu.c.chen@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit --- 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