From nobody Sat Oct 4 12:41:01 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 E7FFDBA4A; Sat, 16 Aug 2025 00:08:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755302920; cv=none; b=FAATJZDxp2jzyjey3gmQA5NTvfugUoAXu+olD5ABHgzpfZmaoPUWBKwSwyTBSot2cRHUwT1emQz4gUSmFz0MZv9UB1GC+vqJ2r+snm6RPkEQwmWPLvHfAxoV1vR9E9ZxOtyw1FvEczDPggsmvNxrOtg3zFcAS7ynXM2ulEDv7VA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755302920; c=relaxed/simple; bh=Mp9NGrJWUWVhDqtHZIZvK7J6EzBqIIE/DcFZ0dsLmlI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=MCwDY4pGC2q3QU+UDDlsUa+pQr+r7jBGItuNmdT6B7C4rNfdoIj4sXTX8ZPXmAdRz1ZCj0DgND22YgGqxzlBGaSjbu+QNsZovUEorbXDvCnlAjtxBrJoeUFo4K7p+9NC9pf5KQIrwr8cVqXfntDUlQOE4JNNKI9j7i48STdEzNw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Lq9/un6s; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Lq9/un6s" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BCD96C4CEEB; Sat, 16 Aug 2025 00:08:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755302919; bh=Mp9NGrJWUWVhDqtHZIZvK7J6EzBqIIE/DcFZ0dsLmlI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Lq9/un6si0KLvYYMrjst4wRt1pwPAp4waTuw87tw94afsTlJQyIfi8XTm+khcLVzx K633FvvXvYIpq9RR5/RXChgmvhS/1UuxE9urhaUgN4h5+BkKwzaShIPLl1pPI4MZe1 mzAYKDKht5CPYnnoE+A68yY5jor+7pAARp3lHvSg6XLIKMAmxvTAWbpn1+aNfHadS4 t5Js4z325mfJaWl9GPQlq/x2isUh2zPBJfm3iRNK+Om6YPFWbMC5MSGs12nE2KHQF1 siar6rycDGoRtFei/m4ZdWttUeCtaTUfhtcKimBmqyB5avPCH9rTyaQ1OYgoV/fdqS f3rhUZdziNl/w== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 11835CE0B2D; Fri, 15 Aug 2025 17:08:39 -0700 (PDT) From: "Paul E. McKenney" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, rostedt@goodmis.org, "Paul E. McKenney" Subject: [PATCH 1/7] rcutorture: Fix jitter.sh spin time Date: Fri, 15 Aug 2025 17:08:31 -0700 Message-Id: <20250816000837.2622858-1-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <8758bcc6-901f-4828-b2fc-aa9f90e85451@paulmck-laptop> References: <8758bcc6-901f-4828-b2fc-aa9f90e85451@paulmck-laptop> 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" An embarrassing syntax error in jitter.sh makes for fixed spin time. This commit therefore makes it be variable, as intended, albeit with very coarse-grained adjustment. Signed-off-by: Paul E. McKenney --- .../selftests/rcutorture/bin/jitter.sh | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/rcutorture/bin/jitter.sh b/tools/testi= ng/selftests/rcutorture/bin/jitter.sh index fd1ffaa5a1358e..3c1e5d3f88058c 100755 --- a/tools/testing/selftests/rcutorture/bin/jitter.sh +++ b/tools/testing/selftests/rcutorture/bin/jitter.sh @@ -39,6 +39,22 @@ do fi done =20 +# Uses global variables startsecs, startns, endsecs, endns, and limit. +# Exit code is success for time not yet elapsed and failure otherwise. +function timecheck { + local done=3D`awk -v limit=3D$limit \ + -v startsecs=3D$startsecs \ + -v startns=3D$startns \ + -v endsecs=3D$endsecs \ + -v endns=3D$endns < /dev/null ' + BEGIN { + delta =3D (endsecs - startsecs) * 1000 * 1000; + delta +=3D int((endns - startns) / 1000); + print delta >=3D limit; + }'` + return $done +} + while : do # Check for done. @@ -85,15 +101,20 @@ do n=3D$(($n+1)) sleep .$sleeptime =20 - # Spin a random duration + # Spin a random duration, but with rather coarse granularity. limit=3D`awk -v me=3D$me -v n=3D$n -v spinmax=3D$spinmax 'BEGIN { srand(n + me + systime()); printf("%06d", int(rand() * spinmax)); }' < /dev/null` n=3D$(($n+1)) - for i in {1..$limit} + startsecs=3D`date +%s` + startns=3D`date +%N` + endsecs=3D$startns + endns=3D$endns + while timecheck do - echo > /dev/null + endsecs=3D`date +%s` + endns=3D`date +%N` done done =20 --=20 2.40.1 From nobody Sat Oct 4 12:41:01 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 E7FDEBA34; Sat, 16 Aug 2025 00:08:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755302920; cv=none; b=Bw8y+3qupvOVKs57OWDIwZ/yxJAyIHU5C7yuWtLgh+7pqygpBa2fIyTu48jIQPmGohusxKYd4jI47IZ1OyylfXA+DU6hPBkvq4X0GbiYaCRJfcErJ/NVXndz2LeU23VruULLmZO1UR4n/COP4wnMFQr1jo0FFGZd3fAbC2sDiVw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755302920; c=relaxed/simple; bh=Cz/f8Ty/4zEpoYFihblKVOHBZS+Lk96uBujFwo+m+CE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=tF/D4iHWkN7Suo81jfhLpoz6dTI++YsMQtpzIhckxJxv15jrzyXlHCDdugqpCnnqtc8jPD6i3YPFwoqK4yEKEOgCP33eEOYfxJjlwQ/ZGflI9uuP6M+B4Cqw55dDKOVLkcsSZOqSNNV+SE7TQvtQ5h6OWV7Ggv/77dDS4Y7h/b8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jsInXGsL; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="jsInXGsL" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C45D5C4CEF4; Sat, 16 Aug 2025 00:08:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755302919; bh=Cz/f8Ty/4zEpoYFihblKVOHBZS+Lk96uBujFwo+m+CE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jsInXGsLds1XZgK9YBZhDhWGF4mWsIneIeS/iJc0bc0KldbayRMjl+Q7lHj7H8JkD EKC7wGB8/CZYZpdtdfoQWYWamtiZs6IeGMj4AURiwAJYiQyZuZCw/bWO3qXO7U+4iy 9VPN5YM4ScEalZxQH5eJQJ77vPxBugPRvgGjK7Ec5mIZnKblAigyR+U/SziI6RmIap R4OL4m1H/lPB5iYcrFVNBxXUHhIyONtLDG9o2Kt18jK/R0EOQpo2CugCd9OFfU3Pgm xMkQefspbkPweRq4TGTnsebPUIw8/Z7vPjzsuvdImUtjb8OyIZ/eDgfIf7+dQKkhDt g0xVXScL917ig== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 1573FCE0B30; Fri, 15 Aug 2025 17:08:39 -0700 (PDT) From: "Paul E. McKenney" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, rostedt@goodmis.org, "Paul E. McKenney" Subject: [PATCH 2/7] torture: Add --do-normal parameter to torture.sh help text Date: Fri, 15 Aug 2025 17:08:32 -0700 Message-Id: <20250816000837.2622858-2-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <8758bcc6-901f-4828-b2fc-aa9f90e85451@paulmck-laptop> References: <8758bcc6-901f-4828-b2fc-aa9f90e85451@paulmck-laptop> 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" The --do-normal parameter was missing from the torture.sh script's help text, so this commit adds it. Hopefully better late than never! Signed-off-by: Paul E. McKenney --- tools/testing/selftests/rcutorture/bin/torture.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/selftests/rcutorture/bin/torture.sh b/tools/test= ing/selftests/rcutorture/bin/torture.sh index 611bc03a8dc705..a33ba109ef0b7f 100755 --- a/tools/testing/selftests/rcutorture/bin/torture.sh +++ b/tools/testing/selftests/rcutorture/bin/torture.sh @@ -94,6 +94,7 @@ usage () { echo " --do-kvfree / --do-no-kvfree / --no-kvfree" echo " --do-locktorture / --do-no-locktorture / --no-locktorture" echo " --do-none" + echo " --do-normal / --do-no-normal / --no-normal" echo " --do-rcuscale / --do-no-rcuscale / --no-rcuscale" echo " --do-rcutasksflavors / --do-no-rcutasksflavors / --no-rcutas= ksflavors" echo " --do-rcutorture / --do-no-rcutorture / --no-rcutorture" --=20 2.40.1 From nobody Sat Oct 4 12:41:01 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 0E4DAC133; Sat, 16 Aug 2025 00:08:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755302920; cv=none; b=eT3hYFbiZBHg1ByrS1YkNNZReLBmt9B12HreY7XorwCYNu9HAgIJaiT85vtD2xRcPfmUCxJVCVMU3LPo3xoEdUJp/I+yxl8rFR754QJ3J05rzAVoW2Artc8kSrIUQQ3nyHdeS3crTmV8BotyQtbj/6MlQMFt/KPOMu/6VUwLWVg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755302920; c=relaxed/simple; bh=o0RHpAqGikfODESDcNqT7pVVwVOSWbUKhTNHQn++MVw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Q3CY8MnAH0u0r29qWGCwJaIFAMVTskvMr9we7taNqa/K80h1545jA+P84/Na98b+B5TN7xsPYb6bcBwv5x0Ox9XdJJpWLyTEeTEzBLlVdsRBNcrpG9Y73zNVg2kyh0/K6OyNusW6R6X2WLipQLQSLmUZ2riPfsP4QSbLrcbpayE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=azk3Iiys; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="azk3Iiys" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D8FB3C4CEF8; Sat, 16 Aug 2025 00:08:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755302919; bh=o0RHpAqGikfODESDcNqT7pVVwVOSWbUKhTNHQn++MVw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=azk3IiysjTqolV3J6YDwq2I7o4DlHtvpZh/bE+SvJckNG9Xro8x5i4wJtgGEvmmex OAawxZcdDYAVysaxqZlgYr4cfQu8g+JBfDHc4eeCyT1JJ/BPTyU88XstP+VRW11PGc H/fhsBoIJ0ylNyc1N6bfls54Ul1blvX6DnYmEkeeIn6eHtDVfpl4XLTdzZje1OVzwL mCPlTqnRs/xilAxF1wSoX2irh86Wyv9ZkMszPI7XUrLJjtKZYCZNkmNr9KilK0Xl1K M4sfgDBAUb7bYFGCzjgCcdnJSu626mL3HCbD8QYZFyNnTtzEG57IhtpzCuV6oJVQhy eERrtF0olIAUg== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 1872DCE0B31; Fri, 15 Aug 2025 17:08:39 -0700 (PDT) From: "Paul E. McKenney" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, rostedt@goodmis.org, "Paul E. McKenney" Subject: [PATCH 3/7] torture: Announce kernel boot status at torture-test startup Date: Fri, 15 Aug 2025 17:08:33 -0700 Message-Id: <20250816000837.2622858-3-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <8758bcc6-901f-4828-b2fc-aa9f90e85451@paulmck-laptop> References: <8758bcc6-901f-4828-b2fc-aa9f90e85451@paulmck-laptop> 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" Sometimes a given system takes surprisingly long to boot, for example, in one recent case, 70 seconds instead of three seconds. It would be good to fix these slow-boot issues, but it would also be good for the torture tests to announce that the system was still booting at the start of the test. Especially for tests that have a greater probability of false positives when run in the single-CPU boot-time environment. Yes, those tests should defend themselves, but we should also make this situation easier to diagnose. This commit therefore causes torture_print_module_parms() to print "still booting" at the end of its printk() that dumps out the values of its module parameters. Signed-off-by: Paul E. McKenney --- kernel/torture.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/torture.c b/kernel/torture.c index 3a0a8cc604010a..5abb4b25d971cc 100644 --- a/kernel/torture.c +++ b/kernel/torture.c @@ -797,8 +797,9 @@ static unsigned long torture_init_jiffies; static void torture_print_module_parms(void) { - pr_alert("torture module --- %s: disable_onoff_at_boot=3D%d ftrace_dump_= at_shutdown=3D%d verbose_sleep_frequency=3D%d verbose_sleep_duration=3D%d r= andom_shuffle=3D%d\n", - torture_type, disable_onoff_at_boot, ftrace_dump_at_shutdown, verbose_s= leep_frequency, verbose_sleep_duration, random_shuffle); + pr_alert("torture module --- %s: disable_onoff_at_boot=3D%d ftrace_dump_= at_shutdown=3D%d verbose_sleep_frequency=3D%d verbose_sleep_duration=3D%d r= andom_shuffle=3D%d%s\n", + torture_type, disable_onoff_at_boot, ftrace_dump_at_shutdown, verbose_s= leep_frequency, verbose_sleep_duration, random_shuffle, + rcu_inkernel_boot_has_ended() ? "" : " still booting"); } =20 /* --=20 2.40.1 From nobody Sat Oct 4 12:41:01 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 076C1BE46; Sat, 16 Aug 2025 00:08:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755302920; cv=none; b=olrHzQZzFLdIlsgIpMWH2DeOk9RBqWWKdkuJ6yUY9qNvMsH2aHCcWZ5jHO9X5zEd4OwUVcfNkjsdawWIIYzScd/SVl7BMVw/r9NPZjwD9u2ZOttyCZxhsy1Cy5pRrMOeGG2mEiSyU3QjAKKNM7arTMkiexFOHpm/m+2Xsap4MGE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755302920; c=relaxed/simple; bh=QRMj3cfejFshQ8gBkMpPIHQRTiBKhfo6s4NoeWXO8TE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=E3R5CIu+GYRDGdJLdc2CrweRYj22aR8183S+cnU4DHwf7h1wT1sgg5b/5UlOg6Fwo2/XwVChIBDyncYFSPHmRl23kH//GmX4CLyikrYjXX786XqnRlFBzYdWX0u2UL4Nq1C05BzsE3dmf0SUmnFe4cmozXGsoBULTXsCT8caZH4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=LQQ6jMrw; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="LQQ6jMrw" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D4A61C4CEF5; Sat, 16 Aug 2025 00:08:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755302919; bh=QRMj3cfejFshQ8gBkMpPIHQRTiBKhfo6s4NoeWXO8TE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LQQ6jMrwTMk5BIj++yBMB1liZSzWDXLOTQaC2LXspZGdoJx4AxkJLXsBf2zFgYvtA AQYk2oCB1nVVUDlLZJZg43uzoIa7gKtj7SXObCmDPQg+niLwmHJc985vcO0iDJNlSv DqIt5+g/iT+7KZ9buOyy6xkXgZjvmlcgwVmT+iGEhHlBlTyb7VdV6/H6+xIpJu0+mm rXHDjiyv+JHe+kdsu17znIZ6ocUbIl0kKa/pQXxTD3QdL2EmtV6wUGy2X3GrAdYw30 802/TzffghkF9prHZl3IylMcjh94XEafXZrcwYU21sUw+LCRG2rq15wtA2q9/UQ8fE qFawTKfHYi76Q== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 1ADF2CE0B6D; Fri, 15 Aug 2025 17:08:39 -0700 (PDT) From: "Paul E. McKenney" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, rostedt@goodmis.org, "Paul E. McKenney" Subject: [PATCH 4/7] rcutorture: Suppress "Writer stall state" reports during boot Date: Fri, 15 Aug 2025 17:08:34 -0700 Message-Id: <20250816000837.2622858-4-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <8758bcc6-901f-4828-b2fc-aa9f90e85451@paulmck-laptop> References: <8758bcc6-901f-4828-b2fc-aa9f90e85451@paulmck-laptop> 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" When rcutorture is running on only the one boot-time CPU while that CPU is busy invoking initcall() functions, the added load is quite likely to unduly delay the RCU grace-period kthread, rcutorture readers, and much else besides. This can result in rcu_torture_stats_print() reporting rcutorture writer stalls, which are not really a bug in that environment. After all, one CPU can only do so much. This commit therefore suppresses rcutorture writer stalls while the kernel is booting, that is, while rcu_inkernel_boot_has_ended() continues returning false. Signed-off-by: Paul E. McKenney --- kernel/rcu/rcutorture.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c index 7a893d51d02b6a..49e048da4f6810 100644 --- a/kernel/rcu/rcutorture.c +++ b/kernel/rcu/rcutorture.c @@ -2756,7 +2756,8 @@ rcu_torture_stats_print(void) cur_ops->stats(); if (rtcv_snap =3D=3D rcu_torture_current_version && rcu_access_pointer(rcu_torture_current) && - !rcu_stall_is_suppressed()) { + !rcu_stall_is_suppressed() && + rcu_inkernel_boot_has_ended()) { int __maybe_unused flags =3D 0; unsigned long __maybe_unused gp_seq =3D 0; =20 --=20 2.40.1 From nobody Sat Oct 4 12:41:01 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 64E8917736; Sat, 16 Aug 2025 00:08:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755302920; cv=none; b=AKkhqkMo+9d6pDqc3h7PFaU6fJoNAwgumnlgqQwar7f2uyWnZTJEsNxunzkypkv+QIl0rAUqdgtbFjCKeGAPXohUKWrM28QtpkYNHz7tFwmX/YZb9ZKkJK0/06Qxgja7OtadHY3/ggor91ohj4qWvJgwN7bSBOct5oPQO/FRjYU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755302920; c=relaxed/simple; bh=b9sPRChOApZiUr0xwL3sxPCf4tYxxEx0JLu49QV5rt0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=VfnDW0dMvrVOXwaRalj2/xy+FQUZWv38EGInfwE+vVonZukxu4TBFO2jCId//yNOYZo1xZ8r/5Z/dgKfhWuYOXeKOmEd2GsUx6y1Oe+ZZ+HEJ72HZQLbYzLIlIG17asjQ9XrjOWHvqb7O0HEUZTxcxJrg96dNoKdbBCJG8g344g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gjEht2Ym; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="gjEht2Ym" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D80C1C4CEF6; Sat, 16 Aug 2025 00:08:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755302919; bh=b9sPRChOApZiUr0xwL3sxPCf4tYxxEx0JLu49QV5rt0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gjEht2YmaRzD/jSLcXJmNZHTn2OvZJ9Hoo1sKahpubVyFV4xUel08/lIxDCQ8cR/o m3tyU7DN3yJJ9xpiCwa1ZN+6+0DJOY4SS7Y4+2WmiqcUBw4mWHCfDgBkOPjXSDo+Yr cAGZbj0260gI7BPV+fBB1ELu8kbPcRIBcBtABtdcmXezRmC5WllOIQ6vA52N9MwGjw wUaxxNNcB259odjHCuVYclR5o2OIUSIyFvIpJqKua9s87DGFf0jOMYFEd7waAG4Itz FFohlT8DPE+xMhYyQvAuxXA2pjVR4pAbWrhe/4WIOyIU440W6h3IChv5RbW8GpWLO5 1xdiCHfZedwgw== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 1D8D1CE0EA2; Fri, 15 Aug 2025 17:08:39 -0700 (PDT) From: "Paul E. McKenney" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, rostedt@goodmis.org, "Paul E. McKenney" Subject: [PATCH 5/7] rcutorture: Delay rcutorture readers and writers until boot completes Date: Fri, 15 Aug 2025 17:08:35 -0700 Message-Id: <20250816000837.2622858-5-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <8758bcc6-901f-4828-b2fc-aa9f90e85451@paulmck-laptop> References: <8758bcc6-901f-4828-b2fc-aa9f90e85451@paulmck-laptop> 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" The rcutorture writers and (especially) readers are the biggest CPU hogs of the bunch, so this commit therefore makes them wait until boot has completed. This makes the current setting of the boot_ended local variable dead code, so while in the area, this commit removes that as well. Signed-off-by: Paul E. McKenney --- kernel/rcu/rcutorture.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c index 49e048da4f6810..1578d330565752 100644 --- a/kernel/rcu/rcutorture.c +++ b/kernel/rcu/rcutorture.c @@ -1528,7 +1528,7 @@ static void do_rtws_sync(struct torture_random_state = *trsp, void (*sync)(void)) static int rcu_torture_writer(void *arg) { - bool boot_ended; + bool booting_still =3D false; bool can_expedite =3D !rcu_gp_is_expedited() && !rcu_gp_is_normal(); unsigned long cookie; struct rcu_gp_oldstate cookie_full; @@ -1539,6 +1539,7 @@ rcu_torture_writer(void *arg) struct rcu_gp_oldstate gp_snap1_full; int i; int idx; + unsigned long j; int oldnice =3D task_nice(current); struct rcu_gp_oldstate *rgo =3D NULL; int rgo_size =3D 0; @@ -1581,6 +1582,16 @@ rcu_torture_writer(void *arg) rgo_size =3D cur_ops->poll_active_full; } =20 + // If the system is still booting, let it finish. + j =3D jiffies; + while (!torture_must_stop() && !rcu_inkernel_boot_has_ended()) { + booting_still =3D true; + schedule_timeout_interruptible(HZ); + } + if (booting_still) + pr_alert("%s" TORTURE_FLAG " Waited %lu jiffies for boot to complete.\n", + torture_type, jiffies - j); + do { rcu_torture_writer_state =3D RTWS_FIXED_DELAY; torture_hrtimeout_us(500, 1000, &rand); @@ -1769,13 +1780,11 @@ rcu_torture_writer(void *arg) !rcu_gp_is_normal(); } rcu_torture_writer_state =3D RTWS_STUTTER; - boot_ended =3D rcu_inkernel_boot_has_ended(); stutter_waited =3D stutter_wait("rcu_torture_writer"); if (stutter_waited && !atomic_read(&rcu_fwd_cb_nodelay) && !cur_ops->slow_gps && !torture_must_stop() && - boot_ended && time_after(jiffies, stallsdone)) for (i =3D 0; i < ARRAY_SIZE(rcu_tortures); i++) if (list_empty(&rcu_tortures[i].rtort_free) && @@ -2437,7 +2446,8 @@ rcu_torture_reader(void *arg) torture_hrtimeout_us(500, 1000, &rand); lastsleep =3D jiffies + 10; } - while (torture_num_online_cpus() < mynumonline && !torture_must_stop()) + while (!torture_must_stop() && + (torture_num_online_cpus() < mynumonline || !rcu_inkernel_boot_ha= s_ended())) schedule_timeout_interruptible(HZ / 5); stutter_wait("rcu_torture_reader"); } while (!torture_must_stop()); --=20 2.40.1 From nobody Sat Oct 4 12:41:01 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 BF37E26290; Sat, 16 Aug 2025 00:08:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755302920; cv=none; b=cYij2NLc4Frl2AZInQdudpUP8DbIgM6ZPBHBKhi20gH1GKOKQs0QL3sYqJuDbgHgBYWbmzwOSyuZ0RgSKWhFyuI6o/TVnavxhsVTs/6b/AQIDJ7kW89n6M68A1rA8na0LkpLimRJqBOLKXr/FhvKR0qohzsGmDzY568nvK1LKhA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755302920; c=relaxed/simple; bh=jJfIUtEDWjKmTQ75RA/L6ODvVHBRzgs6f1hgAtKNxGY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=X15bSnRa2tija7xMck5/VOj4P5Jw04J1JvMzAkvuyRd5/hiOx9RQy1Fbxq8k3ah5WWWOREnqrsswDanaEakwVnC8oTWLuk3JJfgLFblN0JUO8QBuqYq8ZSiFQrkZy8QOuCZDX/nGhOtBgmFJCu81+UrenqdaUBSQCQiUtpQXKZ4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=P6qmXdU2; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="P6qmXdU2" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 975B2C4CEF6; Sat, 16 Aug 2025 00:08:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755302920; bh=jJfIUtEDWjKmTQ75RA/L6ODvVHBRzgs6f1hgAtKNxGY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=P6qmXdU26VDBD09o87aHK84Z0pHZdW7IJEg6XF3nqO6bfo/aEPEZuA2BWuFaDPHqN cTWaK0wmYLJvq40LWIBVZ8e9lOk06QXqljzOBn6b7MJxhnU5zNBlCLlzi693urnm1/ LC+0/LFKZ9xXXfYsuIp6Y9C+03TIdUyw9SaDypG6Fp0GXEVCTArt+iC4Qi1EPFsGr/ tJfCPxsNbNYfr4vlwaFZWD5JwdVWbHpae8RRFBTy76kMROTTOlWVZEnId4wBslmWRO xqaUtdYQmPJ++/WNj6YUMDOnUAtX2dm0z9Lq3ZsJC8X/aIdW6jEenJd4UGvA+Iprsd 9x/vFpUoaZYbQ== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 1FCE1CE0EA9; Fri, 15 Aug 2025 17:08:39 -0700 (PDT) From: "Paul E. McKenney" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, rostedt@goodmis.org, "Paul E. McKenney" Subject: [PATCH 6/7] torture: Delay CPU-hotplug operations until boot completes Date: Fri, 15 Aug 2025 17:08:36 -0700 Message-Id: <20250816000837.2622858-6-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <8758bcc6-901f-4828-b2fc-aa9f90e85451@paulmck-laptop> References: <8758bcc6-901f-4828-b2fc-aa9f90e85451@paulmck-laptop> 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" CPU-hotplug operations invoke stop-machine, which can hog CPUs, which is not a great thing to do before boot has completed. This commit therefore makes the CPU-hotplug operations hold off until boot has completed. Signed-off-by: Paul E. McKenney --- kernel/torture.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/torture.c b/kernel/torture.c index 5abb4b25d971cc..1ea9f67953a766 100644 --- a/kernel/torture.c +++ b/kernel/torture.c @@ -359,6 +359,8 @@ torture_onoff(void *arg) torture_hrtimeout_jiffies(onoff_holdoff, &rand); VERBOSE_TOROUT_STRING("torture_onoff end holdoff"); } + while (!rcu_inkernel_boot_has_ended()) + schedule_timeout_interruptible(HZ / 10); while (!torture_must_stop()) { if (disable_onoff_at_boot && !rcu_inkernel_boot_has_ended()) { torture_hrtimeout_jiffies(HZ / 10, &rand); --=20 2.40.1 From nobody Sat Oct 4 12:41:01 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 F38C82AE68; Sat, 16 Aug 2025 00:08:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755302921; cv=none; b=sgmNR2u60pIZsh5k/FpThwyI87KWBuoNRgsEj7WC404V+ge9Y4Wp4V/jeVXTBpVnCu70gecukvoUWUhwttCvg8nnATV+g9KtsJ4SckXoEL5XxJVh0YpvP/9RGhGh+7+f1B9gRBFz0wtb6pj5DJtdlnpAn1DzGQhuwiO9sQ49trY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755302921; c=relaxed/simple; bh=gE4Rji/8SJ+UEZVXQUf6+/Ok6DOW5KtjWyQ+ski3jFY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=oLrSqfuqAZRzLSiN63s2SIcSQURO94yizR9Ih5cRZ9dWUXk3i4hoSHMkHXNqz4xcg2ml278vCjSMQmmGvbkOOsgDdR83eqt7/Tq8LJq4ztqkmBz5xuZD1bQGegGEJNfbrT7+WLpYx16LkBPkEAtUcz4K1oY59hcFbkSBJ1gLhks= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SqfBJCEZ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SqfBJCEZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8C624C4CEEB; Sat, 16 Aug 2025 00:08:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755302920; bh=gE4Rji/8SJ+UEZVXQUf6+/Ok6DOW5KtjWyQ+ski3jFY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SqfBJCEZihQj/iBL4EZ4cH5ZINwZArRGA28BiyakR/xh7Nmm/zpVlwSxUmRYLNBPn 6YbqoBuSk8pUnaDHhANmYorbzIpUUU0vijld56W5Ehy0a8FXbM8AfI335Dup7otkiy coA564Hfxb9tDC/k+OOg8bg3qAJanRAcwFRoOp4JVJwRG12BHPUyXh75idqkbt+Ale J8W4kyjBE1lgSbJDewpbgB7FnMdD2yD4WINvU8pv5DQ4Pnmwmo7fWeyjGFzcY/5B/u ipa0cVw9a27eQg8pMmK+j9MoMrlf6T0CQ8feeSqaD5RGvqcgktKbEgJDFJ0xk32yN4 BxcNiifObvkAw== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 220BBCE10F4; Fri, 15 Aug 2025 17:08:39 -0700 (PDT) From: "Paul E. McKenney" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, rostedt@goodmis.org, "Paul E. McKenney" Subject: [PATCH 7/7] rcutorture: Delay forward-progress testing until boot completes Date: Fri, 15 Aug 2025 17:08:37 -0700 Message-Id: <20250816000837.2622858-7-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <8758bcc6-901f-4828-b2fc-aa9f90e85451@paulmck-laptop> References: <8758bcc6-901f-4828-b2fc-aa9f90e85451@paulmck-laptop> 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" Forward-progress testing can hog CPUs, which is not a great thing to do before boot has completed. This commit therefore makes the CPU-hotplug operations hold off until boot has completed. Signed-off-by: Paul E. McKenney --- kernel/rcu/rcutorture.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c index 1578d330565752..b8a684459381f2 100644 --- a/kernel/rcu/rcutorture.c +++ b/kernel/rcu/rcutorture.c @@ -3457,6 +3457,8 @@ static int rcu_torture_fwd_prog(void *args) int tested_tries =3D 0; =20 VERBOSE_TOROUT_STRING("rcu_torture_fwd_progress task started"); + while (!rcu_inkernel_boot_has_ended()) + schedule_timeout_interruptible(HZ / 10); rcu_bind_current_to_nocb(); if (!IS_ENABLED(CONFIG_SMP) || !IS_ENABLED(CONFIG_RCU_BOOST)) set_user_nice(current, MAX_NICE); --=20 2.40.1