From nobody Thu Apr 9 18:55:16 2026 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2C8DC3AE71A for ; Fri, 6 Mar 2026 14:03:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772805829; cv=none; b=pBkn8WzWwWfkm09RR0gjkDyK1tIFfmLB0I6OVtD5gsd75fEvj7JTa9KitlbxaT3GZbC2HT+3ptawPWCkWcW7x5u3bFJqYkr8w/Q8S5WKCcYiJxb+j5JMyG7h99ovAOBgqihPjprus0JkWM6HXfOaYa52f4MUL+zKXf4uNJxODBY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772805829; c=relaxed/simple; bh=KKJoiskobJLPVewH28+LF9Y4Ux/Lu7qzp3YYxz5tn6o=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ou3ZO09dF1whw6lONdC2SM8aMvdNtfsR/KyW+XB3524xQRv6IcIE7DEICPWBwXro1HbttnofY2R/hktQF7nM01+RdALorRy5LjXF3mlACqc9ri5zMGfb4kz9n1VRDD3oh4aO9GLEiBidLAW6Phd6a3khwzyrF4Kk4x0euOA1NcM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=PbF7Tgs1; arc=none smtp.client-ip=209.85.214.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PbF7Tgs1" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-2ae3a2f6007so47609385ad.2 for ; Fri, 06 Mar 2026 06:03:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772805827; x=1773410627; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=URwHQdDNBcfpjPgIZZmBOCF4w8QPrTIvO91J8esIlCE=; b=PbF7Tgs1GsJhphtrzQmJ9VgOEYENG6F5coDb+YjBmaO6uvDXGuUN377rU5siiEPkFv Z1Hh4pTEkt9f/VjASa0EnZs9nd6eYg0+Z6aNPa16M6pUofUbWmNP1h2Zi9BIoKa7vyoC XPLPRVjQ1vQ9ieCCJzzMwxyAYnBU7htydacT1cM0OQAMHixVpd+2DhEVf9cXo1wgRZ6r VN8pSOD/d0OLmveOmJnOt05HJgY4DUnCAGXUypJ7pb2ebtA/KSTrZL0KjfZ/EjNyce0E mfDKU+IVo0wp4lbA7mm3MKqsFmj+odTPNuv13gZXyQk1gvE9zkA8SM/VpQbeXwP6gh/8 xUlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772805827; x=1773410627; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=URwHQdDNBcfpjPgIZZmBOCF4w8QPrTIvO91J8esIlCE=; b=MdYdFSWP3f8J6D8gHptrtUJJRc/1s4/LmzLTwghdBlzaI8q9Z6TDP/Yn+zYsDgpHie /74IkZymD14D0pE2JLCC8Mg8TPcKvmRSydw2vxUw+UnI8+83PhRrfJKYnAtW8WoPv1qe 66yMY3mofhi5Qy47gfsMf42vACT/gw3u6E8S8l8sYNbhiNw8MVi9ntpKeh0yxXVcMihN 5v0Xx5wKI0MEt2okybcut51G7nZLvAAuxWzsAlkmyDccTQLEVKa+LYHXElNMV9gomI05 rfdoCdizwPiYMNzBbcetmstd885dllbXVNxo1Y6X6uXp7BchKtboqjMEqnm2l1Kz2iCi oZPw== X-Forwarded-Encrypted: i=1; AJvYcCXVkHHSGHQ1fhH5ovYm/zQ2+sRnsogeVuaU0orKGJNIcZO957IIaOmSRwtjZ8cSsEW1bPwuMkS/oajRFOM=@vger.kernel.org X-Gm-Message-State: AOJu0YxGkCV5/LrXGKkZYRYkVSAjuG04ZsFYssJ5yya9fgALykgp63Je DWkb1vqhKZwo+XibpcX5ptGUy9qYbdDmZFMDTE+M+nS93x/wwocO2gof X-Gm-Gg: ATEYQzxBgiGHgOccUN8Ek+quCcUAX7Q5v7bWuKMql6qnAF451BAcyWnbBhzlvW3Ujgt JYcVfX2TeyepYNRpNwj88IqCCdV+1Uq+X4UODGBwWJ7Ye/5noRKx6vI08xAp+B4XfJzMZpAj2YV vwhouk/CiFE8e4VT9OrZw5BA6r4WhQPWcZ5abipvtkMPgTKyivZYloz97ObI3Fgv6OZBJ1xtEKf bhsNicDnidU5YKGPPgYkmnCPO7kbhl3Tc+OCTlZk6NuVpEvoo87ZljbjHOSO72NjGQFByRQ2dnK tClpUubsdkJxMW4xB/NATLAF/Vt5GTsySdhguZuVmjPg3sDo+A0u+SyRNl6W4O6Mtdt8j635gnU M9LOUa85gflnnHScn/kpHsePQpIhJePtUewyTFld5BSY8seX4LegwlbGzYgrFcqsx2VwtWGwMNk tQYVQm4m5hDt67ydGKmYAgUs1TDGm21y2YVpMv8eKk1ex2qgqgqHnifgOtdsqtFJ9tbo/MxAGxB Cnj7ClapB9MMg== X-Received: by 2002:a17:902:db09:b0:2ae:5723:afa9 with SMTP id d9443c01a7336-2ae8253c933mr27839485ad.53.1772805827270; Fri, 06 Mar 2026 06:03:47 -0800 (PST) Received: from mi-HP-ProDesk-680-G6-PCI-Microtower-PC.mioffice.cn ([43.224.245.226]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ae840ccb6csm29134715ad.92.2026.03.06.06.03.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Mar 2026 06:03:46 -0800 (PST) From: zhidao su X-Google-Original-From: zhidao su To: tj@kernel.org, sched-ext@lists.linux.dev, linux-kernel@vger.kernel.org Cc: void@manifault.com, arighi@nvidia.com, changwoo@igalia.com, linux-kselftest@vger.kernel.org, Su Zhidao Subject: [PATCH 5/5] sched_ext: Document scx_bypass_depth migration path Date: Fri, 6 Mar 2026 22:03:25 +0800 Message-ID: <20260306140325.2710927-6-suzhidao@xiaomi.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260306140325.2710927-1-suzhidao@xiaomi.com> References: <20260306140325.2710927-1-suzhidao@xiaomi.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Su Zhidao scx_bypass_depth is a global counter that will be moved into struct scx_sched when multi-scheduler support lands. Add a comment explaining why READ_ONCE/WRITE_ONCE are used despite bypass_lock serialization: modifications are serialized by the lock, but the value can be observed locklessly from softirq context (e.g., in scx_bypass_lb_timerfn()). Signed-off-by: Su Zhidao --- kernel/sched/ext.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c index c269e489902c..b1e5a95682c1 100644 --- a/kernel/sched/ext.c +++ b/kernel/sched/ext.c @@ -33,6 +33,12 @@ static DEFINE_MUTEX(scx_enable_mutex); DEFINE_STATIC_KEY_FALSE(__scx_enabled); DEFINE_STATIC_PERCPU_RWSEM(scx_fork_rwsem); static atomic_t scx_enable_state_var =3D ATOMIC_INIT(SCX_DISABLED); +/* + * Counts the number of active bypass requests. Protected by bypass_lock + * inside scx_bypass(), but read locklessly (e.g., from + * scx_bypass_lb_timerfn() in softirq context) using READ_ONCE(). Will + * be moved into struct scx_sched when multi-scheduler support lands. + */ static int scx_bypass_depth; static cpumask_var_t scx_bypass_lb_donee_cpumask; static cpumask_var_t scx_bypass_lb_resched_cpumask; --=20 2.43.0