From patchwork Mon Jul 17 18:11:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 121502 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1274264vqt; Mon, 17 Jul 2023 11:24:14 -0700 (PDT) X-Google-Smtp-Source: APBJJlGKIYlAEHi5nlZRKvqh4nL0r1+GS3FzkbNJFBirx6OAqGQAK28864B5EvrfnpRamPMxuiiU X-Received: by 2002:a17:907:7f29:b0:982:ab8d:1e08 with SMTP id qf41-20020a1709077f2900b00982ab8d1e08mr183236ejc.59.1689618254263; Mon, 17 Jul 2023 11:24:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689618254; cv=none; d=google.com; s=arc-20160816; b=QxlT+NHM4j63R0U/BqkktajHX2K+9Eov1Z62TELPjAS84sMPsiX2vFj2m1f8V9T2gR pb1V/quhJA9AQ1h2NswopkXFBpOcMjvxdqv4YHg0FusU5VUVxTAKwXoQgGWg+sg+ST2M Rmi4fa9gKpogWnQOYzelwsJ7UHDhMsmxAsIRObCpkUnuWyyfqE0L4tiGOgjH0JjyGKkA EY9+ensd1vGTR5e6JPgesp6AWOee64sxTrrGxeKZnjd2lz8ustxwQD5YlkWj8vCL6oPC 8zS0um3+1jOKpSx+fX3DyLfh4+tQKQpZhXgPisS49fT9OZFb93tYi16vvWPEZjopfY/h t2QQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=SVZNdWoMDr3r5JL/SntFK+w+LlBg4HPyNRpEYPla1IU=; fh=Ag0RbRk3LxdpQ9OdMLAf8hbnmFe6FOAHRGAvgVTwgEc=; b=XJu9DiyrtyQfw57gjFCeiG6bpiXLFJB4Y1gZi7xq9rBU9DVn3asfIkLkbi5hjs/5eE MjJoBl6HPmpXXRzLeGZNZUWOS51H0bizInhny3SKT13cOrTH55FPdcqWeMpI0rF3BP9f zjuAWlW9K19EbEtOXEMvMhiSTLcemeJPUgV1IQBU86gHZ1gTKtY22H4LLkwtr61O8Sk8 mC5YnBm41z+IYrFTxH1z/Jf9o8/KC9F4Xr1S8AHEbJobFIwDAgBuIHx4Ka11ahVihxK3 1Pj8Lc4YUXRniYb73aCXE+J118+h9rji4oYLCrP/ffy5lkFAQB5VychSr1P56DUnKq8X PCSw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=YR9mNJCG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d20-20020a170906041400b00988ce92ef13si19621eja.205.2023.07.17.11.23.49; Mon, 17 Jul 2023 11:24:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=YR9mNJCG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231211AbjGQSLo (ORCPT + 99 others); Mon, 17 Jul 2023 14:11:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42194 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230397AbjGQSLm (ORCPT ); Mon, 17 Jul 2023 14:11:42 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 01E94E4C; Mon, 17 Jul 2023 11:11:40 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 8CA41611DD; Mon, 17 Jul 2023 18:11:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EE024C433CB; Mon, 17 Jul 2023 18:11:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689617500; bh=5A8xH+p0dUJfvye10KzRYh4lPe5RZ2TL4tDrfKR9vx0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YR9mNJCGa0lEX1MzLzlunbCdKEny04LHyl33ZVfu9iRO9pZCmmCmnU10FIauKD17c AtzN4soQXUTe95wjeMRaMPYEV/S60XPyr6B9s56DgbpIoKFWqhxs66n1ahizdjbdZh GaN8eP4mQZxC77NlCVHCWQA9X4e4i1cXjCV0Np+epPYBxwNkZDPBXy3Uys0JE9xbFy KNCebj0ugbDIo/ddKrtLLaaNqe0r3Al6QFlocxTg6okZRC/YyckNdI+PQAAhdV4Lir u1xNATbnZV5cIUtEj/6UrpvQ20KTb+xGEF1ZUej7pK0S1d/M+FnHTBaXSxj6ZkKVMz x+RUyCjNqOkrQ== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id AD68BCE03F1; Mon, 17 Jul 2023 11:11: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 rcu 01/13] rcuscale: Permit blocking delays between writers Date: Mon, 17 Jul 2023 11:11:26 -0700 Message-Id: <20230717181138.1098063-1-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771693150413172982 X-GMAIL-MSGID: 1771693150413172982 Some workloads do isolated RCU work, and this can affect operation latencies. This commit therefore adds a writer_holdoff_jiffies module parameter that causes writers to block for the specified number of jiffies between each pair of consecutive write-side operations. Signed-off-by: Paul E. McKenney --- Documentation/admin-guide/kernel-parameters.txt | 5 +++++ kernel/rcu/rcuscale.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index a1457995fd41..5ba231b786f8 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -4983,6 +4983,11 @@ in microseconds. The default of zero says no holdoff. + rcuscale.writer_holdoff_jiffies= [KNL] + Additional write-side holdoff between grace + periods, but in jiffies. The default of zero + says no holdoff. + rcutorture.fqs_duration= [KNL] Set duration of force_quiescent_state bursts in microseconds. diff --git a/kernel/rcu/rcuscale.c b/kernel/rcu/rcuscale.c index d1221731c7cf..4277037e0996 100644 --- a/kernel/rcu/rcuscale.c +++ b/kernel/rcu/rcuscale.c @@ -93,6 +93,7 @@ torture_param(bool, shutdown, RCUSCALE_SHUTDOWN, "Shutdown at end of scalability tests."); torture_param(int, verbose, 1, "Enable verbose debugging printk()s"); torture_param(int, writer_holdoff, 0, "Holdoff (us) between GPs, zero to disable"); +torture_param(int, writer_holdoff_jiffies, 0, "Holdoff (jiffies) between GPs, zero to disable"); torture_param(int, kfree_rcu_test, 0, "Do we run a kfree_rcu() scale test?"); torture_param(int, kfree_mult, 1, "Multiple of kfree_obj size to allocate."); torture_param(int, kfree_by_call_rcu, 0, "Use call_rcu() to emulate kfree_rcu()?"); @@ -414,6 +415,7 @@ rcu_scale_writer(void *arg) struct rcu_head *rhp = NULL; bool started = false, done = false, alldone = false; u64 t; + DEFINE_TORTURE_RANDOM(tr); u64 *wdp; u64 *wdpp = writer_durations[me]; @@ -448,6 +450,8 @@ rcu_scale_writer(void *arg) do { if (writer_holdoff) udelay(writer_holdoff); + if (writer_holdoff_jiffies) + schedule_timeout_idle(torture_random(&tr) % writer_holdoff_jiffies + 1); wdp = &wdpp[i]; *wdp = ktime_get_mono_fast_ns(); if (gp_async) { From patchwork Mon Jul 17 18:11:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 121517 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1274852vqt; Mon, 17 Jul 2023 11:25:35 -0700 (PDT) X-Google-Smtp-Source: APBJJlFsVVeWv0QSJZlU84phVO6Exu6d+mvfch0rquSNQf91R4HbMrWn40Wr3Y78oqih4o5kS1hq X-Received: by 2002:a17:906:74d8:b0:997:caf0:9945 with SMTP id z24-20020a17090674d800b00997caf09945mr2179357ejl.12.1689618335490; Mon, 17 Jul 2023 11:25:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689618335; cv=none; d=google.com; s=arc-20160816; b=d67OaSoVTzPOuxSn7TII6aTrDngW5BBmdGBG0SX3PQnD6e4BCmxMxuA8JgRdNXjVx0 IWnM6cwJurVe7ygx9shlrcJ43m5bRFslSRl0yRsqU2gESgO0lBhMQNm1GdH6cW2vIBDm e89wxVa5OCL62hyK1mkTNtGkxkVZoAXLX0guHQZZzqLT+kHFbM7f7QVMiUACa8tJghBM XEcCX9JEIyE9QZlZFEqBq4IOp/4LQ9EepcdmWIzFHpNgI95mmN+Stmjyy+2pVUOLg6Iv k+k2Z8QHfb2SHnmYgkwLH6T7Q2J2yEvKdSJQaigD7yvrtQn96yxkxGhzzI/IHErxLSrD mO+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=okMCpyyAOlDNUJFeWxdazUWKg3sAP93JzagjMXsVSwM=; fh=Ag0RbRk3LxdpQ9OdMLAf8hbnmFe6FOAHRGAvgVTwgEc=; b=vcxDc0q1hcV+JMSKm2tVqECw4QCS0mkX9Tg7+igyhH7tO0NH6ZhIqItf4+SBdihFGp XZxdkeQuIwQDdbexgqt4z9iTQYJ0/O8iqgyB8ghdwGU6PNlOSqahKYwR/KRWPcOMjwUp x2k3F0nRfBMjR9pIbsh1WCe7ff7pafX0e1Z/yRTb1/J61f37tpT0soa3YPeNNZBDz/md a+Zb45q712xFcJHrppQt+axYNXopq64hpQb3Qzp3374iEDVJ2kcf0C5DztQpqo9IcBNc /LIsgjVd0VnmO9/Whc3hHdzIyQj5xfdU/gWhDdb3RIznRZP1LKM931OKzbYoxOlV4BZB 6lZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="laK/2XTo"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y12-20020a170906070c00b00992f1a3b9d6si13509644ejb.852.2023.07.17.11.25.12; Mon, 17 Jul 2023 11:25:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="laK/2XTo"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230435AbjGQSLm (ORCPT + 99 others); Mon, 17 Jul 2023 14:11:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42180 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230396AbjGQSLl (ORCPT ); Mon, 17 Jul 2023 14:11:41 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EB323AF; Mon, 17 Jul 2023 11:11:40 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 89F32611D5; Mon, 17 Jul 2023 18:11:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EDFFFC433CA; Mon, 17 Jul 2023 18:11:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689617500; bh=EQjNoHdHschIUdiIu2na4lA90ImcxAEv7wrp3pUJoEM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=laK/2XTo0opyRe2Eqgtq6c6ArDkndisgPzymG7df7z04eSMTbHVKa58r1K4bFirPa +3KJreo9dK1gM0pABVlnDnANLbo9s9lgwXyB7wyNnS/WZpsxZhEZUBCGSzSoLGbT8A AsXQd0oSiek5kaVb+1mGnhsgXg179RMlNAB4w1si1/nEEke+nGDKCn2muEvIGsgxg4 HEQXYHaWXLze2V4JXzugWDyo/ZBqJDQKUFm+uguU0qiGJ6vCGuVd5osTupah0gvt9u IIBGIiBtj4mnyIuDzQ5RxoNzJC1QqCmjgO0lvYi8nPVBOHZywXky6BVJS8JA1RL1Ce RqOkrm/1TQBSg== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id AFFEACE04CD; Mon, 17 Jul 2023 11:11: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 rcu 02/13] rcuscale: Fix gp_async_max typo: s/reader/writer/ Date: Mon, 17 Jul 2023 11:11:27 -0700 Message-Id: <20230717181138.1098063-2-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771693235743459907 X-GMAIL-MSGID: 1771693235743459907 Signed-off-by: Paul E. McKenney --- kernel/rcu/rcuscale.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/rcu/rcuscale.c b/kernel/rcu/rcuscale.c index 4277037e0996..15edd8c82933 100644 --- a/kernel/rcu/rcuscale.c +++ b/kernel/rcu/rcuscale.c @@ -84,7 +84,7 @@ MODULE_AUTHOR("Paul E. McKenney "); #endif torture_param(bool, gp_async, false, "Use asynchronous GP wait primitives"); -torture_param(int, gp_async_max, 1000, "Max # outstanding waits per reader"); +torture_param(int, gp_async_max, 1000, "Max # outstanding waits per writer"); torture_param(bool, gp_exp, false, "Use expedited GP wait primitives"); torture_param(int, holdoff, 10, "Holdoff time before test start (s)"); torture_param(int, nreaders, -1, "Number of RCU reader threads"); From patchwork Mon Jul 17 18:11:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 121491 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1269013vqt; Mon, 17 Jul 2023 11:13:01 -0700 (PDT) X-Google-Smtp-Source: APBJJlEJeJ0Adm12PDrezq5/JpELVX505P66l+30axb73s9bvRKafalE9Pe4Ow63LlVhC+aPBj9Z X-Received: by 2002:a2e:b60f:0:b0:2b4:65bf:d7b with SMTP id r15-20020a2eb60f000000b002b465bf0d7bmr9479086ljn.2.1689617581371; Mon, 17 Jul 2023 11:13:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689617581; cv=none; d=google.com; s=arc-20160816; b=s49XWP5bIynVU0JKCiFwxdn256l1G5TSd/8DxK7Ka5BQcU1THBO29TzlKy0vwoNH2F jIePU0yTwGstuYxveJmDV/hWOiQwk71EnBYlFDiZNylGZFJ6jFCN6TKdP9F/TGtJdzt5 2PWoEk8QqwdhP596R7H4i/jov3/l7cnbL4fQpkCdZNxgDwwlspR+w0DxJ2HU6hRPP2DQ k2In3CiqLlHK50l1XtNDM8+SSoYXMWL+P2iGx282yCK4Kkz61pKZePTq/jwXdpm4KmPN E3tPPj7Vrj41KAwWggryIpXjAzZLGonXxSXLA/aQQ+Dmy+hkxj4Fk4g8uDN9zt3xj8qn RtUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=QMokvBzbRxdZGZ450AygHEI1zdzqpbzxy6OS9xwmPDg=; fh=Ag0RbRk3LxdpQ9OdMLAf8hbnmFe6FOAHRGAvgVTwgEc=; b=gEKLLmsAj2MeimMVoUBisCkTla2fCBdqWigpNaPizthiQXOSUhRD5tIlsJRn7MwwVL uIe73+ugrkm5URxNCTRp+vodEGO7T5O11Jqnlff0GG2RRDmYIXVZ/m8gQeGnRQU0HTw3 SAXEzWTIMvrUSKnXc9hVvYl6EcOoHI7EuVtq+TedxMX4jNbP3NAn/YHA55MCqaZ2eZzS blZdeX1U1RZpyKG9ZLM/YXzQPW1e2amfmRWzsJw8/4kjLpFRSsRHnOpzBMnx7hBNcjwn GXvRjPSOLnBOELFgO63gu1jOsx/KBHBPn5pMJqbJu2rom2ArOWx4b38mq/cdZqvDms8Q RyBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=YZLvkrEZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b4-20020a1709065e4400b00987383af65asi13425483eju.582.2023.07.17.11.12.36; Mon, 17 Jul 2023 11:13:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=YZLvkrEZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231453AbjGQSLw (ORCPT + 99 others); Mon, 17 Jul 2023 14:11:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42208 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230376AbjGQSLn (ORCPT ); Mon, 17 Jul 2023 14:11:43 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 01C9EB3; Mon, 17 Jul 2023 11:11:40 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 8A41D611DC; Mon, 17 Jul 2023 18:11:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EDFD4C433C7; Mon, 17 Jul 2023 18:11:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689617500; bh=KSPQm/Cmvrwm7nB28Q1Uzn4KOU2brchdwzrXtjJDO4I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YZLvkrEZah3j+6IePfc6+sLQYSZW0DYR7tEycP5uAqBy1oLpb7FEKAW9bJXhXhvWq qARRbJgs88kzEspRRG8bRPSH8E7M6KXec/rpF3qDYzvite7r3nbGueVWZ/ShuTaOS4 r/ZFQErgANur1O0+qeN7HbK5iNja9M7tXuXMnZkPKYJMyxzTWJk0JUAfvajnye9At8 BzwfefHuqVEoSNRuZwLXybUNxWyBGx2/q1SkhP03KGkVkg2dNnNHXyQtE3LZpNBDfS 7ONTk2MkJT3nz2dfFYOdvrHPdRrN6uHESR4bwXuInQVO8kWhap5SZOhmM+MzxRv/Kd sitT1fFW326Bg== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id B291FCE0806; Mon, 17 Jul 2023 11:11: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 rcu 03/13] rcuscale: Add minruntime module parameter Date: Mon, 17 Jul 2023 11:11:28 -0700 Message-Id: <20230717181138.1098063-3-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771692444998403057 X-GMAIL-MSGID: 1771692444998403057 By default, rcuscale collects only 100 points of data per writer, but arranging for all kthreads to be actively collecting (if not recording) data during the time that any kthread might be recording. This works well, but does not allow much time to bring external performance tools to bear. This commit therefore adds a minruntime module parameter that specifies a minimum data-collection interval in seconds. Signed-off-by: Paul E. McKenney --- Documentation/admin-guide/kernel-parameters.txt | 6 ++++++ kernel/rcu/rcuscale.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index 5ba231b786f8..a6888e3dfc20 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -4953,6 +4953,12 @@ Number of loops doing rcuscale.kfree_alloc_num number of allocations and frees. + rcuscale.minruntime= [KNL] + Set the minimum test run time in seconds. This + does not affect the data-collection interval, + but instead allows better measurement of things + like CPU consumption. + rcuscale.nreaders= [KNL] Set number of RCU readers. The value -1 selects N, where N is the number of CPUs. A value diff --git a/kernel/rcu/rcuscale.c b/kernel/rcu/rcuscale.c index 15edd8c82933..7c5bab5a4f19 100644 --- a/kernel/rcu/rcuscale.c +++ b/kernel/rcu/rcuscale.c @@ -87,6 +87,7 @@ torture_param(bool, gp_async, false, "Use asynchronous GP wait primitives"); torture_param(int, gp_async_max, 1000, "Max # outstanding waits per writer"); torture_param(bool, gp_exp, false, "Use expedited GP wait primitives"); torture_param(int, holdoff, 10, "Holdoff time before test start (s)"); +torture_param(int, minruntime, 0, "Minimum run time (s)"); torture_param(int, nreaders, -1, "Number of RCU reader threads"); torture_param(int, nwriters, -1, "Number of RCU updater threads"); torture_param(bool, shutdown, RCUSCALE_SHUTDOWN, @@ -411,6 +412,7 @@ rcu_scale_writer(void *arg) { int i = 0; int i_max; + unsigned long jdone; long me = (long)arg; struct rcu_head *rhp = NULL; bool started = false, done = false, alldone = false; @@ -447,6 +449,7 @@ rcu_scale_writer(void *arg) } } + jdone = jiffies + minruntime * HZ; do { if (writer_holdoff) udelay(writer_holdoff); @@ -479,7 +482,7 @@ rcu_scale_writer(void *arg) if (!started && atomic_read(&n_rcu_scale_writer_started) >= nrealwriters) started = true; - if (!done && i >= MIN_MEAS) { + if (!done && i >= MIN_MEAS && time_after(jiffies, jdone)) { done = true; sched_set_normal(current, 0); pr_alert("%s%s rcu_scale_writer %ld has %d measurements\n", From patchwork Mon Jul 17 18:11:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 121514 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1274649vqt; Mon, 17 Jul 2023 11:25:05 -0700 (PDT) X-Google-Smtp-Source: APBJJlELVun4CWc6VDTe4ST0DPGxKuAL75Mt3waYnf3DE0QL+EqxiMDkec5mb/LmA+vyPgZo8N2h X-Received: by 2002:a17:907:9809:b0:98e:1729:aeee with SMTP id ji9-20020a170907980900b0098e1729aeeemr12018493ejc.2.1689618305656; Mon, 17 Jul 2023 11:25:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689618305; cv=none; d=google.com; s=arc-20160816; b=xUxzt+AhniEpgeD1grxth0OfAZerDbEsGiYqLYWF/zSToQ/7mDsuO0e8DhcOlzcPgA L6syTE+8YDmZhogI2/VUn2L5YddAk0KHCv91YW/dGLsB2NmNrCUNXmv/2Lo4K4ElwFlF M6kqrf3CKoGCGP/8UQrAAx9MasOuIw+oR4Uvw3WrWo4QTLEyT2xSNG4jGQi8Zr8hqhDK A6IMoq6nXojMuAaOQGM6o+mE0O0ofKGp+DnB/s2HuvWY/KPZp37lxYx6jOrnEKA5tZMx JI4mEM8d7Zrdr4HPryd07lKjiK+mW7nNc0oFMsXuQu7GTU2xtPrpquxGvKACUh2eIA9V Zjzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=iyu3Kb5x3H6zeS4MR/yxDIPp68Ln0WbbXwSiFwIs8zg=; fh=Ag0RbRk3LxdpQ9OdMLAf8hbnmFe6FOAHRGAvgVTwgEc=; b=xNnJl3vgiMt2VdQewtj+Yiu9AdtSXu+RMXMsElSiPzk3VB6EVhmRtZ90hzJBJhE1JS TfTYIEA7P7zd6myUsD4UuWKoWJGxtAxRrWBiNwSLCPVyG70fSCZDPKvjoMQXN5J8zd0k ZFtbSOz/6i1aSxoXavmoKT1htF94SNUXzkLwk0yBZTz8foZNnZvmvjZnnlU0/X/INgrT QEXPvMSM0gN6SLfqBl8IpVKuPuP7NQl4iiVOOhvFNNrjx81zw8GXzyv/6atRP12GneWP m3c2z8J1Kaavgazq1q7IDIwoQ9jFGU1p98FS9TUYSF73M8R5+WjRWe2qYYaJyMJqc+ln mGpg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=C7C0h94+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k21-20020a170906579500b0098895f19707si22989ejq.171.2023.07.17.11.24.41; Mon, 17 Jul 2023 11:25:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=C7C0h94+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229517AbjGQSLt (ORCPT + 99 others); Mon, 17 Jul 2023 14:11:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42196 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230413AbjGQSLm (ORCPT ); Mon, 17 Jul 2023 14:11:42 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3A7FEE55; Mon, 17 Jul 2023 11:11:41 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id A7EAF611E2; Mon, 17 Jul 2023 18:11:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 14647C433C9; Mon, 17 Jul 2023 18:11:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689617500; bh=+0fBEhqmyuNH4//E14nuyQmDTxK/vKbTt5dtpbaWLmk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=C7C0h94+4Ry+wzdtHCk9hU2/NzV7+li6S/BI8OTa+o6I5A3O8KFUPp/YyHj8mb09s F+dAhHtSU/d9DFJbBWkqdlN0Jy3p/4uX8kD5zfNnqm5PZ3ZylyqP9GwiCbUhdhZSz1 736DZOggXFfFwi+bpCSGfqtPMKH7pbJq5yZ4uIAjlKYm1fRaROSh+qve9ju2bds6YK 0AvuLuQ6NvgYXm7P/bmcFBrFUJQye4UeVla7EFm7qbjTPEC3XXyPv/b8MHHotMtZiE uLCa2aQ21aqJ+2G6CbIkBnkAujmuOpljmGTuhopWJnks91WYmnaoe2yfDu61e/oV05 r+/Zyy4XxuO3A== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id B4CC9CE0836; Mon, 17 Jul 2023 11:11: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 rcu 04/13] rcuscale: Print out full set of module parameters Date: Mon, 17 Jul 2023 11:11:29 -0700 Message-Id: <20230717181138.1098063-4-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771693204403633393 X-GMAIL-MSGID: 1771693204403633393 Signed-off-by: Paul E. McKenney --- kernel/rcu/rcuscale.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/rcu/rcuscale.c b/kernel/rcu/rcuscale.c index 7c5bab5a4f19..18f1b0e13604 100644 --- a/kernel/rcu/rcuscale.c +++ b/kernel/rcu/rcuscale.c @@ -525,8 +525,8 @@ static void rcu_scale_print_module_parms(struct rcu_scale_ops *cur_ops, const char *tag) { pr_alert("%s" SCALE_FLAG - "--- %s: nreaders=%d nwriters=%d verbose=%d shutdown=%d\n", - scale_type, tag, nrealreaders, nrealwriters, verbose, shutdown); + "--- %s: gp_async=%d gp_async_max=%d gp_exp=%d holdoff=%d minruntime=%d nreaders=%d nwriters=%d writer_holdoff=%d writer_holdoff_jiffies=%d verbose=%d shutdown=%d\n", + scale_type, tag, gp_async, gp_async_max, gp_exp, holdoff, minruntime, nrealreaders, nrealwriters, writer_holdoff, writer_holdoff_jiffies, verbose, shutdown); } /* From patchwork Mon Jul 17 18:11:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 121503 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1274279vqt; Mon, 17 Jul 2023 11:24:16 -0700 (PDT) X-Google-Smtp-Source: APBJJlEKyafKL9e0g+QZUZbj09mzTlCQXz7g23UQopQRFwzbsqUbmzOUswpKf8BVA5jFM2Lx/gef X-Received: by 2002:a17:906:eda2:b0:991:bf04:204f with SMTP id sa2-20020a170906eda200b00991bf04204fmr152131ejb.60.1689618256040; Mon, 17 Jul 2023 11:24:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689618256; cv=none; d=google.com; s=arc-20160816; b=kgzZuZRC+llRvCGv/s9fheUcppVFaoN/96rKdNS3AEgMdAilyePlSdJS11bbwEMaxm uPfufCR/gGlYHaxPXWG/HpkfA0HhXteRykJB4rejRFYRF8OtIpmLqyXoSBwa2bZnjVzB lgKyhL/c+rLTpm7S+3rlJCBiEVgERrSJ3aSgMLGYV/89Q7E3oxZvYa9D/B4PhDlCQjXh DNDzKMIOi8BN+kAKJw1C1oaG/uP7pMejU/MZnaWHvxC8eJmGqtf+RQC9CUexGYBt6X2f C+oG2xXfRmepRNTkaGAurMCo44OUNGQm94L9G3tZ/ONZBAS8S17xAE0EsUf9VaVMn+1z tgdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=xNVr11shpXb3ZnYDOBGtQf3+nSX0W7uJQkPE72DIyTM=; fh=u+Fywpy9AOQ2voyTdmveKcwYt6fk3Lz+8mu0vMa9jk8=; b=rkS2X/ldEXdkXc4IVg++j+7s1zqKJUu7g5HCZwaWio/FVWv2cLjrj8n+XGv8gsktWX XrhQvFGspK+YdXKdCEpMcOFPf2qm6bHroFCQpCt2SF3wC2gNQHvIall3d2FUS6CuO7k6 NvAuK8GsBYayzATvrU+cFmOEJZ22BvBwS8kiQAveiZELa2lPOHZuC0ngh7HN68P3bN9f MY19n8lI3PQ+JK/c0J8Bt53y2wrw8rpWg5DcwsN48Kn8VENohO2+XO9aRVBrVLaatgfR ltsJ7z6vIFThojh3y9TS63XkfK/6U+z1XguANQkAOonA+hIA3gmQ03ArQJxenlAuLay+ kWUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=QcXWYrGp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m17-20020a1709062b9100b009933cd3556fsi611ejg.670.2023.07.17.11.23.51; Mon, 17 Jul 2023 11:24:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=QcXWYrGp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231294AbjGQSLr (ORCPT + 99 others); Mon, 17 Jul 2023 14:11:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42198 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230400AbjGQSLm (ORCPT ); Mon, 17 Jul 2023 14:11:42 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6E6F4E56; Mon, 17 Jul 2023 11:11:41 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id BCD52611E3; Mon, 17 Jul 2023 18:11:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2272AC433CC; Mon, 17 Jul 2023 18:11:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689617500; bh=iPtCMMiG5ZGO7GsFZLh6YccNSibZpzaW5K9xmTwhpgg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QcXWYrGpMinTfmdViiWkd9mQysD+Go9tXJgs3XfLV5bLrSHz6SPrJMmHApgqRQGmG 6w9y72m2Nakf5y8KoQvVnncQJiRngN+zxTi9Olyzgf5nR7Sab57qmSL9G+JDQlQm/g zJVtaqxU0gnSTO1Q/QAbmjMZ9nIXrUUKHpIYCyT9lPPU5cKob9xOKvOkBeCgoxui9W Ks7epyA4TCqo1hcYcZgTDyygwQJg6horlLjLpY5RQqUcIRoOTcOC2hqdz9nWD2zcxp cmIBl/yX6f1SMagxkPEvLIFl4fOUa4TL9aSiDCwOs49aF9FdS4Lw0z5BmJRCgysFYX 3txmTNdZJ3LMA== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id B7244CE0902; Mon, 17 Jul 2023 11:11: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" , Uladzislau Rezki Subject: [PATCH rcu 05/13] rcuscale: Print out full set of kfree_rcu parameters Date: Mon, 17 Jul 2023 11:11:30 -0700 Message-Id: <20230717181138.1098063-5-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771693152612413135 X-GMAIL-MSGID: 1771693152612413135 Signed-off-by: Paul E. McKenney Cc: Uladzislau Rezki (Sony) --- kernel/rcu/rcuscale.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kernel/rcu/rcuscale.c b/kernel/rcu/rcuscale.c index 18f1b0e13604..821a3e65c54a 100644 --- a/kernel/rcu/rcuscale.c +++ b/kernel/rcu/rcuscale.c @@ -708,6 +708,10 @@ kfree_scale_init(void) unsigned long jif_start; unsigned long orig_jif; + pr_alert("%s" SCALE_FLAG + "--- kfree_rcu_test: kfree_mult=%d kfree_by_call_rcu=%d kfree_nthreads=%d kfree_alloc_num=%d kfree_loops=%d kfree_rcu_test_double=%d kfree_rcu_test_single=%d\n", + scale_type, kfree_mult, kfree_by_call_rcu, kfree_nthreads, kfree_alloc_num, kfree_loops, kfree_rcu_test_double, kfree_rcu_test_single); + // Also, do a quick self-test to ensure laziness is as much as // expected. if (kfree_by_call_rcu && !IS_ENABLED(CONFIG_RCU_LAZY)) { From patchwork Mon Jul 17 18:11:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 121507 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1274454vqt; Mon, 17 Jul 2023 11:24:39 -0700 (PDT) X-Google-Smtp-Source: APBJJlFp+yTZpgA5/4RS/KYpeAP9YWOU+Q3kP9sAIxtnd82Q+Uxf+YmPQFAxG6WduMm02tWjLFs3 X-Received: by 2002:a17:907:3e9a:b0:98e:4f1:f987 with SMTP id hs26-20020a1709073e9a00b0098e04f1f987mr12559734ejc.3.1689618279311; Mon, 17 Jul 2023 11:24:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689618279; cv=none; d=google.com; s=arc-20160816; b=sOpfZRgA7FWmf21451FNKCDujAint+ewVPjJ9VBJZ1UV5OI5xVYthyY7NTqB1+AzjA yPNhvtrQZ3jC6Dk2ecJLQp0D72KjXJnD0Vciyf0M5Tt5nM3VTOpr9lwGalH/TIfmZFI/ 7dQvy+srvYq4CzERqEdLUeXsx7aE2o2VLpvddwMnOQHGrrRRXzS7qgIR4GZojITPd9Ke P9ntoQoMqVDmUqq/8PDMon2uM+e7Vs48C6jr9cXe/yoju9wgrGMj0nQxdwDoSFF8OBhk phy1+efzmNHy5h+JwTdg6fr8gTGh3h8H5MMzQFeefvkhm/RwzJuBci+VPaSvMyW7J6dA SV4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Fi4UTBHtJlsptGQf/MmGCp9JUPL0KItAXel/WlcxlGw=; fh=His0Rk1A+IE+YU9Hp1rw+DHs3ktOT8jfPKXWKW41sBY=; b=WOqe5TpwloS4/iwcjsTuJH0U3BgA4bIRIQ6hCyl2WtN4qG5bgs+UxedFHUKrmEmPQy yaGHl8w4QWS7Qcar8ZDt/T0V5/D4+4gkDW7ANeD7sMRtPue02cDhhHOTZNyBRXYjJyBk J6CrcYvgaA1iHCUUU6Q1u5hagr+WxYRF53gUln5lMGIg880jiXyRKjqpmcQ6Mcv/Hfwe d7wTWTne8m1sPgAIC36ggkaf9zNcPf9dwFKKeGN3HMoSrAxLE9X/jJ0dDPQ+ho134cqc p+WS09OwLry5ppcfW8QHVJ69vnU/sQ4zUhYj01n3aUZqDPAkAZ/sOgc/G6wirZf/olX/ XtRA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ESE4wom7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i14-20020a170906264e00b00992f3097ed4si14077640ejc.871.2023.07.17.11.24.15; Mon, 17 Jul 2023 11:24:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ESE4wom7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231598AbjGQSL6 (ORCPT + 99 others); Mon, 17 Jul 2023 14:11:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42214 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230505AbjGQSLn (ORCPT ); Mon, 17 Jul 2023 14:11:43 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 382DD8E; Mon, 17 Jul 2023 11:11:42 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 2341B611E4; Mon, 17 Jul 2023 18:11:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4D6EAC433AD; Mon, 17 Jul 2023 18:11:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689617500; bh=MIhkeztsVEuhvwr2MszSXvW/fHdP74ZIBpgGzjKJOiI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ESE4wom7KKaNW9leiHXoMJj7L0T+MzWGD5OkIzc64KKMmdDl2S8BaLZ0gkas26IWv LUY2EYq2hYp6TFC3lzbhVniZmDfAJ1iMCH4lOzBLurSnrX4Sj8Uv09PlOOhdu4vU/m EKUV5Mo+YKDz3ScEWvDirSmjJbpeNWraepE0TxU947n73KC2CcuMETZDbQIJwzMjHZ gvX8s9oKlHGvRjBVC+ZnTJbJEzTxBSJBTP85411UzR/b2cyx2UilK2t6jISodbky8D cvBtpcvCEhyGThcxpko2XfW4/AzE0xds15W184m/HtfVwY49BFtGhXMv1Cy6DR2yQA 9ox0Xw/6FW4gQ== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id B9A28CE092F; Mon, 17 Jul 2023 11:11: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" , Yujie Liu Subject: [PATCH rcu 06/13] rcuscale: Measure grace-period kthread CPU time Date: Mon, 17 Jul 2023 11:11:31 -0700 Message-Id: <20230717181138.1098063-6-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771693176962490215 X-GMAIL-MSGID: 1771693176962490215 This commit adds the ability to output the CPU time consumed by the grace-period kthread for the RCU variant under test. The CPU time is whatever is in the designated task's current->stime field, and thus is controlled by whatever CPU-time accounting scheme is in effect. This output appears in microseconds as follows on the console: rcu_scale: Grace-period kthread CPU time: 42367.037 [ paulmck: Apply feedback from Stephen Rothwell and kernel test robot. ] Signed-off-by: Paul E. McKenney Tested-by: Yujie Liu --- include/linux/rcupdate_trace.h | 1 + kernel/rcu/rcuscale.c | 21 +++++++++++++++++++++ kernel/rcu/tasks.h | 6 ++++++ 3 files changed, 28 insertions(+) diff --git a/include/linux/rcupdate_trace.h b/include/linux/rcupdate_trace.h index 9bc8cbb33340..eda493200663 100644 --- a/include/linux/rcupdate_trace.h +++ b/include/linux/rcupdate_trace.h @@ -87,6 +87,7 @@ static inline void rcu_read_unlock_trace(void) void call_rcu_tasks_trace(struct rcu_head *rhp, rcu_callback_t func); void synchronize_rcu_tasks_trace(void); void rcu_barrier_tasks_trace(void); +struct task_struct *get_rcu_tasks_trace_gp_kthread(void); #else /* * The BPF JIT forms these addresses even when it doesn't call these diff --git a/kernel/rcu/rcuscale.c b/kernel/rcu/rcuscale.c index 821a3e65c54a..7fba3ab66e35 100644 --- a/kernel/rcu/rcuscale.c +++ b/kernel/rcu/rcuscale.c @@ -141,6 +141,7 @@ struct rcu_scale_ops { void (*gp_barrier)(void); void (*sync)(void); void (*exp_sync)(void); + struct task_struct *(*rso_gp_kthread)(void); const char *name; }; @@ -336,6 +337,7 @@ static struct rcu_scale_ops tasks_tracing_ops = { .gp_barrier = rcu_barrier_tasks_trace, .sync = synchronize_rcu_tasks_trace, .exp_sync = synchronize_rcu_tasks_trace, + .rso_gp_kthread = get_rcu_tasks_trace_gp_kthread, .name = "tasks-tracing" }; @@ -563,6 +565,8 @@ static struct task_struct **kfree_reader_tasks; static int kfree_nrealthreads; static atomic_t n_kfree_scale_thread_started; static atomic_t n_kfree_scale_thread_ended; +static struct task_struct *kthread_tp; +static u64 kthread_stime; struct kfree_obj { char kfree_obj[8]; @@ -808,6 +812,18 @@ rcu_scale_cleanup(void) if (gp_exp && gp_async) SCALEOUT_ERRSTRING("No expedited async GPs, so went with async!"); + // If built-in, just report all of the GP kthread's CPU time. + if (IS_BUILTIN(CONFIG_RCU_SCALE_TEST) && !kthread_tp && cur_ops->rso_gp_kthread) + kthread_tp = cur_ops->rso_gp_kthread(); + if (kthread_tp) { + u32 ns; + u64 us; + + kthread_stime = kthread_tp->stime - kthread_stime; + us = div_u64_rem(kthread_stime, 1000, &ns); + pr_info("rcu_scale: Grace-period kthread CPU time: %llu.%03u us\n", us, ns); + show_rcu_gp_kthreads(); + } if (kfree_rcu_test) { kfree_scale_cleanup(); return; @@ -921,6 +937,11 @@ rcu_scale_init(void) if (cur_ops->init) cur_ops->init(); + if (cur_ops->rso_gp_kthread) { + kthread_tp = cur_ops->rso_gp_kthread(); + if (kthread_tp) + kthread_stime = kthread_tp->stime; + } if (kfree_rcu_test) return kfree_scale_init(); diff --git a/kernel/rcu/tasks.h b/kernel/rcu/tasks.h index b770add3f843..990a6cf5fa35 100644 --- a/kernel/rcu/tasks.h +++ b/kernel/rcu/tasks.h @@ -1830,6 +1830,12 @@ void show_rcu_tasks_trace_gp_kthread(void) EXPORT_SYMBOL_GPL(show_rcu_tasks_trace_gp_kthread); #endif // !defined(CONFIG_TINY_RCU) +struct task_struct *get_rcu_tasks_trace_gp_kthread(void) +{ + return rcu_tasks_trace.kthread_ptr; +} +EXPORT_SYMBOL_GPL(get_rcu_tasks_trace_gp_kthread); + #else /* #ifdef CONFIG_TASKS_TRACE_RCU */ static void exit_tasks_rcu_finish_trace(struct task_struct *t) { } #endif /* #else #ifdef CONFIG_TASKS_TRACE_RCU */ From patchwork Mon Jul 17 18:11:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 121527 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1275845vqt; Mon, 17 Jul 2023 11:28:00 -0700 (PDT) X-Google-Smtp-Source: APBJJlF3+KhcOuSMZBsjV8007LV3xLkvJfnnHRjIr9NxYYV3FQlebepUfJ8HcG7xGFtxAKIe+6e1 X-Received: by 2002:ac2:5923:0:b0:4fa:ad2d:6c58 with SMTP id v3-20020ac25923000000b004faad2d6c58mr8123376lfi.61.1689618480193; Mon, 17 Jul 2023 11:28:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689618480; cv=none; d=google.com; s=arc-20160816; b=t90J6WRBFTtloSIE3TUUQMcqLNDJOHHFddlp8oJrQqb8NLxnRpBZKr+LOVvkyN/aGy WJ2WMRrOSzVwooy3jRn4xA2uDe/E0pwl8rKA1nW9uU+G4hHGvHCNPl4jR6+DSvnj2AuZ Q+1bmAfK/ZRYfJexor+2d7CPjZ6b8qKp7hVjERjaws/MHnwIIT0ejylFOLcNJQ56Z8Lz /AL2BwNaK3ley5za8U1hT7NPGPyYMAqylK7hWSCpN7Ve5fT9vzD21dAN0I4FV7CLElDh luiBo0RChkf5Ch9uue4CVZn7dgnUFrUeYTM5vFzNgMc32CjInaBowK5RqT+oySHDZf+2 8BUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=+BOmms+DLji4da2lrMREaFJdEe02xurWyzMPo5aIQ44=; fh=u+Fywpy9AOQ2voyTdmveKcwYt6fk3Lz+8mu0vMa9jk8=; b=b52pjswz79UViIU4dTRNMqKx2whIQ/Lhfnq2WzbPTlZB+thRvc5yiFnfL5eh6+Gacp nw1D7J0PV94qaXWxcDzliBMHulloTHK1FJ4GAwbVLw2TINvHhy1vtIeGYMAU5Dq/q7Ad /8OAkUw+CM3VO5BrPBt6SKBEKfZ3GqGzlbA3gXGHcf1wiHet9SIsDZp5OfcJJQDhT7AK g/Ix7VOveYpvIXR/lWsyJ0IZGKfP5iabsOVzw8Osm2yHYyu0B874dtRuFMN2ScXnlUh1 nbLY1Vf1gZR5UCIoW2EqkJxiz91pdclcgGw9Hor8dQw9nuIAKl7rN89rf+qN4CbfwBoc GQXQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=s93362Xb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b9-20020aa7c909000000b0051e0c61714csi13650372edt.104.2023.07.17.11.27.35; Mon, 17 Jul 2023 11:28:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=s93362Xb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229995AbjGQSMQ (ORCPT + 99 others); Mon, 17 Jul 2023 14:12:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42256 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231222AbjGQSLp (ORCPT ); Mon, 17 Jul 2023 14:11:45 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 12D6BE76; Mon, 17 Jul 2023 11:11:42 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 23FC9611E6; Mon, 17 Jul 2023 18:11:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4D2B4C433AB; Mon, 17 Jul 2023 18:11:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689617500; bh=y5uffG7fOu/TEaIPCaJCZFkXOa/V0l/2zCRZKeCBBW4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=s93362XbjDt0y86fgUncbBlGLqFyFbcWFytxSLBYFw9hy/yHVawRoA8uzCunf1q7p tPQpGyi6+YDM6LyDY1yWFgFuJ+2+qnofFEf527wein1w8ID9jpTThjGgbefxNWpvoL fll5l+LThX6QsgLZ0ukxBFprE+TOY5A02qSICXnv/IZETgQ3fAWsM+wOdm3sQ8RJ2q rvYAlyl0CHvMKS+kCqAgHFYLct605CTufn5vWXjEhD0raRtxLDGsrlm4QcAFS11+mT giSO8h/6SgLONX2OvjbLJbGIk/WiVvqxjgGrUoyjbhy0rx+btBBvQT0WKWU+2o2rlI GMi2In6+R0pKw== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id BBBC9CE0930; Mon, 17 Jul 2023 11:11: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" , Uladzislau Rezki Subject: [PATCH rcu 07/13] rcuscale: Add kfree_by_call_rcu and kfree_mult to documentation Date: Mon, 17 Jul 2023 11:11:32 -0700 Message-Id: <20230717181138.1098063-7-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771693387909061098 X-GMAIL-MSGID: 1771693387909061098 This commit adds the kfree_by_call_rcu and kfree_mult rcuscale module parameters to kernel-parameters.txt. While in the area, it updates to rcuscale.scale_type. Signed-off-by: Paul E. McKenney Cc: Uladzislau Rezki (Sony) --- Documentation/admin-guide/kernel-parameters.txt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index a6888e3dfc20..3329dc22f53b 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -4928,6 +4928,15 @@ test until boot completes in order to avoid interference. + rcuscale.kfree_by_call_rcu= [KNL] + In kernels built with CONFIG_RCU_LAZY=y, test + call_rcu() instead of kfree_rcu(). + + rcuscale.kfree_mult= [KNL] + Instead of allocating an object of size kfree_obj, + allocate one of kfree_mult * sizeof(kfree_obj). + Defaults to 1. + rcuscale.kfree_rcu_test= [KNL] Set to measure performance of kfree_rcu() flooding. @@ -4973,7 +4982,7 @@ the same as for rcuscale.nreaders. N, where N is the number of CPUs - rcuscale.perf_type= [KNL] + rcuscale.scale_type= [KNL] Specify the RCU implementation to test. rcuscale.shutdown= [KNL] From patchwork Mon Jul 17 18:11:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 121493 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1272721vqt; Mon, 17 Jul 2023 11:20:49 -0700 (PDT) X-Google-Smtp-Source: APBJJlEgkMn+fxrrpyra1dLhUF6Y31Hu+oFIdG1X2AQjx23bShZkK6aNVLYihkUluI3rMzGvvgDY X-Received: by 2002:a92:c267:0:b0:348:8154:8c1e with SMTP id h7-20020a92c267000000b0034881548c1emr572322ild.11.1689618049032; Mon, 17 Jul 2023 11:20:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689618049; cv=none; d=google.com; s=arc-20160816; b=dB1e/ITDEkY7pEN/eLx/4a+YtMLApWDWuDp8QI9e5u5XzdESGnGNOltfouK4WcbRNf qt/UDAHR8KN7ftn5unOP4ROpx4bSyl/DErforfEnpAmtmdJxtZRn7WP/ZlqijBluUhg0 sMvztjb2ykunE136oTOrpAecIBZmrm7lG0IT4JCXXa+oI4yOrKiXqYkplB/WnZIYk/t+ 3nQdWw6Xsoi3OSPIwIAxh6gh1qnSCu9eG2eweRVbZ8ZpHSUIs5LBlmYcGShDMZJr9Kes mfE+t1UsaTLbC1mhIxPv8GMYFzJdGUWT7dQv9HBaEkPVha5vmpPoBCh9SsfpQB4O1qji 344A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=J0y8bkiRSY3LDrWOEWZM8aRFs9G16uNW53OYkQZ+GZQ=; fh=Ag0RbRk3LxdpQ9OdMLAf8hbnmFe6FOAHRGAvgVTwgEc=; b=HoqYjeXQbZGH+1WwdkDuJFRw75s9asdOqmUGERSCGx+nxm1XFpGwuN9/tfbsvHjqkg BYqKEHQplDnco/HJLprtdda5ytEm8fy+iNT/w0Qt2+nouKuIdDUiSp5yBCHqC0uQKOeR qL4YCwyoZcunZuqmBN/WnY41lhQpYAWOcoFug9POGH2cafp7adLknA9tHV3e1wGNwYCe Fwr19SUiJ7eyLrxAYIoPdsNV/bP8zkkNRcPjx8O8E8T/FzOlZsfOp7fKpl+95M4kq4G1 waQCTC8w+HExwRoLZs3et65xNNdVlGL1r07uZ/yBnn+KeCH8H8TkmwgbshQ++jURJ3x9 kMvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=o7DsUuPa; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r143-20020a632b95000000b005573ed4beb7si136574pgr.819.2023.07.17.11.20.34; Mon, 17 Jul 2023 11:20:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=o7DsUuPa; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231580AbjGQSLz (ORCPT + 99 others); Mon, 17 Jul 2023 14:11:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42212 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230509AbjGQSLn (ORCPT ); Mon, 17 Jul 2023 14:11:43 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4097799; Mon, 17 Jul 2023 11:11:42 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 207DE611E1; Mon, 17 Jul 2023 18:11:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4CB43C433A9; Mon, 17 Jul 2023 18:11:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689617500; bh=N9K+fD3EFCsSjTZTUsdzLJiPJxPM1QAGdJD0a23WnpA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=o7DsUuPadJm0BDm8NK9h1ln05KhLCAhlYqBXu/hQty300WAYdzBGEx2rG1p+0r29v xer+JPV5IGFeVJkJaoBr6vK8LjOXn99WhzbPIcfW5H4mCcR+fGY8fido2K2CYfu1gV m/+cHby9EP0HYX+W6S2tpbiC0lctt+ab19BKn/pT/THkFNBv0xW/5zJLeiLHfzJW5e H0rrNY1Epood0uZ/HUb44+YjzD5K8R85BOrQjOR5GczIK00mSArjD9EQO/alCarggU S4q8ekVvGcbYJc4F0xhlQgpBB3nb/qCw57puNgj+vdY9sZMQkh0gd+ELGzpOnDYFq6 l7OMtMu1lPAcQ== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id BE377CE093C; Mon, 17 Jul 2023 11:11: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 rcu 08/13] rcuscale: Print grace-period kthread CPU time, if recorded Date: Mon, 17 Jul 2023 11:11:33 -0700 Message-Id: <20230717181138.1098063-8-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771692935132412655 X-GMAIL-MSGID: 1771692935132412655 This commit prints out the CPU time consumed by the grace-period kthread, if the specified RCU flavor supports this notion. Signed-off-by: Paul E. McKenney --- .../selftests/rcutorture/bin/kvm-recheck-rcuscale.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcuscale.sh b/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcuscale.sh index b582113178ac..f683e424ddd5 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcuscale.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcuscale.sh @@ -40,6 +40,10 @@ awk ' sum += $5 / 1000.; } +/rcu_scale: Grace-period kthread CPU time/ { + cputime = $6; +} + END { newNR = asort(gptimes); if (newNR <= 0) { @@ -78,6 +82,8 @@ END { print "90th percentile grace-period duration: " gptimes[pct90]; print "99th percentile grace-period duration: " gptimes[pct99]; print "Maximum grace-period duration: " gptimes[newNR]; - print "Grace periods: " ngps + 0 " Batches: " nbatches + 0 " Ratio: " ngps / nbatches; + if (cputime != "") + cpustr = " CPU: " cputime; + print "Grace periods: " ngps + 0 " Batches: " nbatches + 0 " Ratio: " ngps / nbatches cpustr; print "Computed from rcuscale printk output."; }' From patchwork Mon Jul 17 18:11:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 121492 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1269592vqt; Mon, 17 Jul 2023 11:14:09 -0700 (PDT) X-Google-Smtp-Source: APBJJlHecNJj7MTtQ3G0vVI/0wyE7VYhMZZnaaDLaPXFxEUMbfy7eqi30KiFh2CQ5VPCAnihkUWL X-Received: by 2002:a17:906:10d0:b0:993:f611:7c97 with SMTP id v16-20020a17090610d000b00993f6117c97mr12262046ejv.33.1689617648663; Mon, 17 Jul 2023 11:14:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689617648; cv=none; d=google.com; s=arc-20160816; b=zNmizefpxsdiB6HbyjidwCJCI81igXjW9mzb9g9uVmXVRLN+lrXwTxFScWsuakhJoN shCrF9eI7O9qNzXDdWf6R/8ExZRa7VV68o6xHFHFof+HFg6HWTCV77CFH/ekRE5sLtPE 4s9gwD0PEAXTkt9DZM5KTtvUayIRIRor5zBDi/HEuJxviAXiQ2dknuPYUni48h8twrAq domtvMX74VexihYAhGbG72SGwZbFvsNQBZa71lOTHKepMLOYSh+ITmaey3AZAad2iAfe duc/lmgVQSywC36TcHsXeaxsRz9I5/BrGgFJnpO95DGrraMm5HVt4IKfYyLZVwvq5IcW ZDKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=TPUnfwbymys2rmI4SMpdtxUFVh4/2XCpBFBCuAEaMh4=; fh=Ag0RbRk3LxdpQ9OdMLAf8hbnmFe6FOAHRGAvgVTwgEc=; b=U/0hhuWa9yURE4ywZLvYWdbbU3+IEq1bY/o8/s1eL4zIooNUv4ewVUcW13AOradR3f qZPMkuBG/my9u3ASQTCx8WCaGywuS6plgCr6HKT7yyJrec4ljJG2FmLkFQPC/NohQZ+L S4eedghX1DE7D/4jk1f1LGdm/tD+0aqoqSJ3GXJL1DjWJfU2dXgn6OxQehfVD4c0+bbj 8bvPhfO0wnGi/052rWzKhgEm+DE8oWkM4rO1hU8Z9FeHXF1E+ffHeJTrcXg7LKGAKOgl f8kLasXm1ZQ9dxebxnSuMlMwALM9dMqhnMxX7HjsOotW8AJpacCsGW8l0J830lcp9pvc 7IJA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=qYVZQXwY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b4-20020a1709065e4400b00987383af65asi13425483eju.582.2023.07.17.11.13.44; Mon, 17 Jul 2023 11:14:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=qYVZQXwY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231610AbjGQSMA (ORCPT + 99 others); Mon, 17 Jul 2023 14:12:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42236 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231142AbjGQSLo (ORCPT ); Mon, 17 Jul 2023 14:11:44 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 12CA3E6F; Mon, 17 Jul 2023 11:11:42 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 28082611E8; Mon, 17 Jul 2023 18:11:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 64B34C4339A; Mon, 17 Jul 2023 18:11:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689617500; bh=WXMDNs0NKjgJYxezPeNZXXRf2T8Uz/q0zB/XGeUalEU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qYVZQXwY1x+p2SFAg3b1Yi2EeSpc9tdtf1QRvIbUgJj5SfFvEALvdNSaswcUGc7tq aMYc2cK2zzcoAjCTMJdEL6xwLnPOc89KURa0OlTbv1fJGXRaAlMRH2xOW1CyZ53O/9 JWtYVrqtq9ZuMrM/7W4RVig3+e3yNrbhi/g856QBdqcnE1hxWUA+yhTvEjJTcvmggM A35Oh0mJPKeW1u8NoVFW53qGVRN5Z3tg7X2aPtdu550UM9l7SuSQLoM0h5v03NguO6 R1+F3WXzINVmVibHJeWZZNamiy1oBKcdue10uaYVrBJ7LWEzcj8rpW3sB29cxbiaHv +re2b2aT20CVg== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id C04EFCE097F; Mon, 17 Jul 2023 11:11: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 rcu 09/13] rcuscale: Measure RCU Tasks Trace grace-period kthread CPU time Date: Mon, 17 Jul 2023 11:11:34 -0700 Message-Id: <20230717181138.1098063-9-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771692515796249028 X-GMAIL-MSGID: 1771692515796249028 This commit causes RCU Tasks Trace to output the CPU time consumed by its grace-period kthread. The CPU time is whatever is in the designated task's current->stime field, and thus is controlled by whatever CPU-time accounting scheme is in effect. This output appears in microseconds as follows on the console: rcu_scale: Grace-period kthread CPU time: 42367.037 [ paulmck: Apply Willy Tarreau feedback. ] Signed-off-by: Paul E. McKenney --- kernel/rcu/rcu.h | 3 +++ kernel/rcu/rcuscale.c | 1 + kernel/rcu/tasks.h | 6 ++++++ 3 files changed, 10 insertions(+) diff --git a/kernel/rcu/rcu.h b/kernel/rcu/rcu.h index 98c1544cf572..d58bc0e86769 100644 --- a/kernel/rcu/rcu.h +++ b/kernel/rcu/rcu.h @@ -505,6 +505,9 @@ void rcu_async_relax(void); void rcupdate_announce_bootup_oddness(void); #ifdef CONFIG_TASKS_RCU_GENERIC void show_rcu_tasks_gp_kthreads(void); +# ifdef CONFIG_TASKS_RCU +struct task_struct *get_rcu_tasks_gp_kthread(void); +# endif // # ifdef CONFIG_TASKS_RCU #else /* #ifdef CONFIG_TASKS_RCU_GENERIC */ static inline void show_rcu_tasks_gp_kthreads(void) {} #endif /* #else #ifdef CONFIG_TASKS_RCU_GENERIC */ diff --git a/kernel/rcu/rcuscale.c b/kernel/rcu/rcuscale.c index 7fba3ab66e35..35e06c86acc9 100644 --- a/kernel/rcu/rcuscale.c +++ b/kernel/rcu/rcuscale.c @@ -298,6 +298,7 @@ static struct rcu_scale_ops tasks_ops = { .gp_barrier = rcu_barrier_tasks, .sync = synchronize_rcu_tasks, .exp_sync = synchronize_rcu_tasks, + .rso_gp_kthread = get_rcu_tasks_gp_kthread, .name = "tasks" }; diff --git a/kernel/rcu/tasks.h b/kernel/rcu/tasks.h index 990a6cf5fa35..0f03de023097 100644 --- a/kernel/rcu/tasks.h +++ b/kernel/rcu/tasks.h @@ -1042,6 +1042,12 @@ void show_rcu_tasks_classic_gp_kthread(void) EXPORT_SYMBOL_GPL(show_rcu_tasks_classic_gp_kthread); #endif // !defined(CONFIG_TINY_RCU) +struct task_struct *get_rcu_tasks_gp_kthread(void) +{ + return rcu_tasks.kthread_ptr; +} +EXPORT_SYMBOL_GPL(get_rcu_tasks_gp_kthread); + /* * Contribute to protect against tasklist scan blind spot while the * task is exiting and may be removed from the tasklist. See From patchwork Mon Jul 17 18:11:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 121505 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1274362vqt; Mon, 17 Jul 2023 11:24:28 -0700 (PDT) X-Google-Smtp-Source: APBJJlFizbjzrHq/H+9TODmBIKOHruR7Np3urIVVvjhEJmmzveXTS+Bt/coxE98nSUnBcCgF0YcY X-Received: by 2002:a17:906:3f54:b0:97e:17cc:cc95 with SMTP id f20-20020a1709063f5400b0097e17cccc95mr9578477ejj.36.1689618267363; Mon, 17 Jul 2023 11:24:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689618267; cv=none; d=google.com; s=arc-20160816; b=wzQSwM+UXRADyvyPNxdVN0Z83TAQ8AnUJjVuWyyNro2yZj0naZ4yNdJXUG1AyN8spK BhUQH+Y5/7cPsDHwsBWCi+XbWQRDMTCTofePsJjEU2lcTiavhUMjlpJq+jL+U/XeyJtE /2y0qo5P/s+g/cSZsIDlezQnbTLi6iP7FibA0cvOjAzNSlr2jbup0FYOiZEPl8eScMkY bC+7oCnC1tNjIclI+J6aF9paUINRzQJafD37KG8EhuPrTjN3C+dVQlapoJvzVpENN0gM 5vLiE3rNCEi6iEqRouZvDFQ4I+CsvMfKHktxvVUlkLKvkyUmuKPxjXCqPGlym96f65qt eZig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=0yhcd3EdV7VeS9nSBtKEAAvUUu4Rc/VGlNyd4CzEpA4=; fh=Ag0RbRk3LxdpQ9OdMLAf8hbnmFe6FOAHRGAvgVTwgEc=; b=Yw2uQzp4PvwwbMZ3yHlFdSyG9ZnWUw4dEl7Gc1A2v7pNYFZRD3uxU6jULQzUWjT+u1 HAwBVrkJrreoKUwrS7VKe8+LlBZhkZrcJY5iz6VG/be/rkDaAhpmgFIIJP+fh1uIZJmy 5l/iQZtnjQDF3J+oS6FPAxw45WVPAMsCfvOy8w0fx4TF23Gg4AsoMDgnjQBuOXXiGLxw CvMpgGCKxTVtnvhEqHr3mM3i+/p70iHZ0nX0N4+60pziUKYQHUvzRu82KstVq9rOCZi5 mrUc/c/DNwu/Xt1F0MydZpUGSZV4qHKK3PQOF4sSPY9r3/zqBSMBrZGsCFAUTq1wS4e0 Jqog== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=HVBenQcQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k2-20020a17090627c200b00993a9a951f9si24355ejc.28.2023.07.17.11.24.03; Mon, 17 Jul 2023 11:24:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=HVBenQcQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231622AbjGQSMD (ORCPT + 99 others); Mon, 17 Jul 2023 14:12:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42246 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231151AbjGQSLo (ORCPT ); Mon, 17 Jul 2023 14:11:44 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 12BCBE6C; Mon, 17 Jul 2023 11:11:42 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 324CF611F3; Mon, 17 Jul 2023 18:11:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6FB60C433B8; Mon, 17 Jul 2023 18:11:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689617500; bh=69vKKKzfGC7L050YBgFnUQUwQJCbn9lPzoOVI5TYOis=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HVBenQcQwciEEi4nOUmcwSTWJCl+76G9JTcvk7eW50gDhvG+pCZHN6i1q+i4LhGMd DoXwb5iZWAhKlTH0zF72oKkA/fHlGp88yJ7Xw0ti9qWjgKZkpByDPfuSLneOFG5kln Ovo7U0Ak1LOzLmGd8PNnjrH2dFU3QwDRSBVdrgFEv7Flm3yWutenNvOBGiXMj7UVb9 eP0dgm9HyptgyRwZW4bqN34OtyuCjpQQtQPnd4Utfn1LuKVQHNpbN1hkBt77hIFfAV h1iPYEGGDrRze58f9ra76iLfYYaM+vpT1g96yClf8B9JakXLG1ojz7frQ64bZW3tIC xf/zXFS/m88OQ== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id C28D6CE09E0; Mon, 17 Jul 2023 11:11: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 rcu 10/13] rcuscale: Add RCU Tasks Rude testing Date: Mon, 17 Jul 2023 11:11:35 -0700 Message-Id: <20230717181138.1098063-10-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771693164554680116 X-GMAIL-MSGID: 1771693164554680116 Add a "tasks-rude" option to the rcuscale.scale_type module parameter. Signed-off-by: Paul E. McKenney --- kernel/rcu/rcu.h | 3 ++ kernel/rcu/rcuscale.c | 31 ++++++++++++++++++- kernel/rcu/tasks.h | 7 +++++ .../rcutorture/configs/rcuscale/CFcommon | 2 ++ 4 files changed, 42 insertions(+), 1 deletion(-) diff --git a/kernel/rcu/rcu.h b/kernel/rcu/rcu.h index d58bc0e86769..9829d8161b21 100644 --- a/kernel/rcu/rcu.h +++ b/kernel/rcu/rcu.h @@ -508,6 +508,9 @@ void show_rcu_tasks_gp_kthreads(void); # ifdef CONFIG_TASKS_RCU struct task_struct *get_rcu_tasks_gp_kthread(void); # endif // # ifdef CONFIG_TASKS_RCU +# ifdef CONFIG_TASKS_RUDE_RCU +struct task_struct *get_rcu_tasks_rude_gp_kthread(void); +# endif // # ifdef CONFIG_TASKS_RUDE_RCU #else /* #ifdef CONFIG_TASKS_RCU_GENERIC */ static inline void show_rcu_tasks_gp_kthreads(void) {} #endif /* #else #ifdef CONFIG_TASKS_RCU_GENERIC */ diff --git a/kernel/rcu/rcuscale.c b/kernel/rcu/rcuscale.c index 35e06c86acc9..5ce3b4e7ce71 100644 --- a/kernel/rcu/rcuscale.c +++ b/kernel/rcu/rcuscale.c @@ -310,6 +310,35 @@ static struct rcu_scale_ops tasks_ops = { #endif // #else // #ifdef CONFIG_TASKS_RCU +#ifdef CONFIG_TASKS_RUDE_RCU + +/* + * Definitions for RCU-tasks-rude scalability testing. + */ + +static struct rcu_scale_ops tasks_rude_ops = { + .ptype = RCU_TASKS_RUDE_FLAVOR, + .init = rcu_sync_scale_init, + .readlock = tasks_scale_read_lock, + .readunlock = tasks_scale_read_unlock, + .get_gp_seq = rcu_no_completed, + .gp_diff = rcu_seq_diff, + .async = call_rcu_tasks_rude, + .gp_barrier = rcu_barrier_tasks_rude, + .sync = synchronize_rcu_tasks_rude, + .exp_sync = synchronize_rcu_tasks_rude, + .rso_gp_kthread = get_rcu_tasks_rude_gp_kthread, + .name = "tasks-rude" +}; + +#define TASKS_RUDE_OPS &tasks_rude_ops, + +#else // #ifdef CONFIG_TASKS_RUDE_RCU + +#define TASKS_RUDE_OPS + +#endif // #else // #ifdef CONFIG_TASKS_RUDE_RCU + #ifdef CONFIG_TASKS_TRACE_RCU /* @@ -913,7 +942,7 @@ rcu_scale_init(void) long i; int firsterr = 0; static struct rcu_scale_ops *scale_ops[] = { - &rcu_ops, &srcu_ops, &srcud_ops, TASKS_OPS TASKS_TRACING_OPS + &rcu_ops, &srcu_ops, &srcud_ops, TASKS_OPS TASKS_RUDE_OPS TASKS_TRACING_OPS }; if (!torture_init_begin(scale_type, verbose)) diff --git a/kernel/rcu/tasks.h b/kernel/rcu/tasks.h index 0f03de023097..0372c5cbc83b 100644 --- a/kernel/rcu/tasks.h +++ b/kernel/rcu/tasks.h @@ -1194,6 +1194,13 @@ void show_rcu_tasks_rude_gp_kthread(void) } EXPORT_SYMBOL_GPL(show_rcu_tasks_rude_gp_kthread); #endif // !defined(CONFIG_TINY_RCU) + +struct task_struct *get_rcu_tasks_rude_gp_kthread(void) +{ + return rcu_tasks_rude.kthread_ptr; +} +EXPORT_SYMBOL_GPL(get_rcu_tasks_rude_gp_kthread); + #endif /* #ifdef CONFIG_TASKS_RUDE_RCU */ //////////////////////////////////////////////////////////////////////// diff --git a/tools/testing/selftests/rcutorture/configs/rcuscale/CFcommon b/tools/testing/selftests/rcutorture/configs/rcuscale/CFcommon index 6a00157bee5b..b1ffd7c67604 100644 --- a/tools/testing/selftests/rcutorture/configs/rcuscale/CFcommon +++ b/tools/testing/selftests/rcutorture/configs/rcuscale/CFcommon @@ -2,5 +2,7 @@ CONFIG_RCU_SCALE_TEST=y CONFIG_PRINTK_TIME=y CONFIG_FORCE_TASKS_RCU=y #CHECK#CONFIG_TASKS_RCU=y +CONFIG_FORCE_TASKS_RUDE_RCU=y +#CHECK#CONFIG_TASKS_RUDE_RCU=y CONFIG_FORCE_TASKS_TRACE_RCU=y #CHECK#CONFIG_TASKS_TRACE_RCU=y From patchwork Mon Jul 17 18:11:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 121520 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1275090vqt; Mon, 17 Jul 2023 11:26:08 -0700 (PDT) X-Google-Smtp-Source: APBJJlGmxXWhzwUrkNcwC+tWj9WFkZoSjWlPF4acC13gtW4uuUZrIhUFg7hu57As58AIO2Ztf6q2 X-Received: by 2002:aa7:d44f:0:b0:51d:d19a:dfe6 with SMTP id q15-20020aa7d44f000000b0051dd19adfe6mr11726562edr.9.1689618368106; Mon, 17 Jul 2023 11:26:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689618368; cv=none; d=google.com; s=arc-20160816; b=UuGMvaTaD7BBcubBxV5yVPNafyomjta2CF4LByfM6jO8LdnkAqI+gVh1QE2JEwcO6C LFZiM3kFIn+0y3TDgoBussSkqn1AiiFGmpyTyIRu1I6y08bFaXS2+d/LXypEEWMuYlS4 JS89qF9zk4xzlVocEeFL6DObaN2lfKB0kFQuRzZIMrvmACRwr/DtNWv2SE0FNYcOixlv PkY4a37MK8PiIznFtSDL7iGYocC/s+QXTw+92jXhy8o7cTgRzMz1+OIEyh/fb88PM+ry Xd443pmacvyTabsdxOz0camYXr6A/ck83q/LluWPXu7Te5FBKadqc5jmH7UY76p0sWFm 6/ZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=FfmRnT8LEge5WioXu6pLs6UwBCPxzxUHlSkN64V4ffE=; fh=ua/WZom87Lx8d6upJaAHyRIeAV0hVKDLlc8L0wet9qk=; b=wj7iWC4sDKujD/nNoq+kKUefBq2oCUT4I+mbD9r/c8V+pccNZhI2Qn6pTSE2Yirbil yvnR8VWTs+7eUWtdQwxQn4kHNBYvBwi7gnrtHclxn2Zg3zouD5am5TeUHDmSAg49445k p0laf4jlamDgYqRR8vl8ox+LLRJEAc5UmQi7UIAol4E2mBg+d0g1F02kui/g/1hVl/Ce Z35oTvdlENJ6zLyWWsUvKbS2jpQP9ViTrpFDdJVJQQgjBCJt3zqEbD1x2G+i3rrgreOz HBMcn3KNeAhaWygUPWWOvXwfsJA8kTXOm8yHOcLVoMV1Erd4wX71NlcXkFxf/I2+gfM5 YhaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=swl4+cF8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r9-20020aa7cb89000000b00521a6decedfsi5130edt.245.2023.07.17.11.25.44; Mon, 17 Jul 2023 11:26:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=swl4+cF8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230413AbjGQSMK (ORCPT + 99 others); Mon, 17 Jul 2023 14:12:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42264 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231256AbjGQSLp (ORCPT ); Mon, 17 Jul 2023 14:11:45 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 12B0FE4C; Mon, 17 Jul 2023 11:11:42 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 2A011611EB; Mon, 17 Jul 2023 18:11:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6FBBCC433BB; Mon, 17 Jul 2023 18:11:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689617500; bh=Rgw6r2G/Sghz8SLefTEvi26Ln8tLe1JsOls+5spnAU4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=swl4+cF8ZOBu9qBeR2UIsxtcu9ToDchVqaq4KI2M3TUdgla1CqDPiMfk7RfjCCML6 GaDFGFALZyXNFZ5zIv/bdk8G12L5lL5t/3ndgCj8bAyNKm8pDUQSaDPNJvRgU27ewm WMTKNnX/VLnP08S4tuCq2lD/UIMdevFLmgTydCtEnO+b1moMnww/cAcZZ40armK4sQ 9cBnr/bibEWwY/3tsV7hI1SZtSpZJl4WJ8Rmus9HxKFE/iUDCWZnUnI0fSyjGZaqMT e/hFsOeAabwkiEg2608kPND41rKpI8mo7jlVZeOcdq2ytKguXt0003hARG/0SPxDUQ 9DbUOpBPWTC+w== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id C4A7ECE0A0F; Mon, 17 Jul 2023 11:11: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, Arnd Bergmann , "Paul E . McKenney" Subject: [PATCH rcu 11/13] rcuscale: fix building with RCU_TINY Date: Mon, 17 Jul 2023 11:11:36 -0700 Message-Id: <20230717181138.1098063-11-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771693269997321434 X-GMAIL-MSGID: 1771693269997321434 From: Arnd Bergmann Both the CONFIG_TASKS_RCU and CONFIG_TASKS_RUDE_RCU options are broken when RCU_TINY is enabled as well, as some functions are missing a declaration. In file included from kernel/rcu/update.c:649: kernel/rcu/tasks.h:1271:21: error: no previous prototype for 'get_rcu_tasks_rude_gp_kthread' [-Werror=missing-prototypes] 1271 | struct task_struct *get_rcu_tasks_rude_gp_kthread(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/rcu/rcuscale.c:330:27: error: 'get_rcu_tasks_rude_gp_kthread' undeclared here (not in a function); did you mean 'get_rcu_tasks_trace_gp_kthread'? 330 | .rso_gp_kthread = get_rcu_tasks_rude_gp_kthread, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | get_rcu_tasks_trace_gp_kthread In file included from /home/arnd/arm-soc/kernel/rcu/update.c:649: kernel/rcu/tasks.h:1113:21: error: no previous prototype for 'get_rcu_tasks_gp_kthread' [-Werror=missing-prototypes] 1113 | struct task_struct *get_rcu_tasks_gp_kthread(void) | ^~~~~~~~~~~~~~~~~~~~~~~~ Also, building with CONFIG_TASKS_RUDE_RCU but not CONFIG_TASKS_RCU is broken because of some missing stub functions: kernel/rcu/rcuscale.c:322:27: error: 'tasks_scale_read_lock' undeclared here (not in a function); did you mean 'srcu_scale_read_lock'? 322 | .readlock = tasks_scale_read_lock, | ^~~~~~~~~~~~~~~~~~~~~ | srcu_scale_read_lock kernel/rcu/rcuscale.c:323:27: error: 'tasks_scale_read_unlock' undeclared here (not in a function); did you mean 'srcu_scale_read_unlock'? 323 | .readunlock = tasks_scale_read_unlock, | ^~~~~~~~~~~~~~~~~~~~~~~ | srcu_scale_read_unlock Move the declarations outside of the RCU_TINY #ifdef and duplicate the shared stub functions to address all of the above. Fixes: 88d7ff818f0ce ("rcuscale: Add RCU Tasks Rude testing") Fixes: 755f1c5eb416b ("rcuscale: Measure RCU Tasks Trace grace-period kthread CPU time") Signed-off-by: Arnd Bergmann Signed-off-by: Paul E. McKenney --- kernel/rcu/rcu.h | 14 ++++++++------ kernel/rcu/rcuscale.c | 13 +++++++++++-- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/kernel/rcu/rcu.h b/kernel/rcu/rcu.h index 9829d8161b21..5befd8780dcd 100644 --- a/kernel/rcu/rcu.h +++ b/kernel/rcu/rcu.h @@ -505,18 +505,20 @@ void rcu_async_relax(void); void rcupdate_announce_bootup_oddness(void); #ifdef CONFIG_TASKS_RCU_GENERIC void show_rcu_tasks_gp_kthreads(void); -# ifdef CONFIG_TASKS_RCU -struct task_struct *get_rcu_tasks_gp_kthread(void); -# endif // # ifdef CONFIG_TASKS_RCU -# ifdef CONFIG_TASKS_RUDE_RCU -struct task_struct *get_rcu_tasks_rude_gp_kthread(void); -# endif // # ifdef CONFIG_TASKS_RUDE_RCU #else /* #ifdef CONFIG_TASKS_RCU_GENERIC */ static inline void show_rcu_tasks_gp_kthreads(void) {} #endif /* #else #ifdef CONFIG_TASKS_RCU_GENERIC */ void rcu_request_urgent_qs_task(struct task_struct *t); #endif /* #else #ifdef CONFIG_TINY_RCU */ +#ifdef CONFIG_TASKS_RCU +struct task_struct *get_rcu_tasks_gp_kthread(void); +#endif // # ifdef CONFIG_TASKS_RCU + +#ifdef CONFIG_TASKS_RUDE_RCU +struct task_struct *get_rcu_tasks_rude_gp_kthread(void); +#endif // # ifdef CONFIG_TASKS_RUDE_RCU + #define RCU_SCHEDULER_INACTIVE 0 #define RCU_SCHEDULER_INIT 1 #define RCU_SCHEDULER_RUNNING 2 diff --git a/kernel/rcu/rcuscale.c b/kernel/rcu/rcuscale.c index 5ce3b4e7ce71..a0eae1900708 100644 --- a/kernel/rcu/rcuscale.c +++ b/kernel/rcu/rcuscale.c @@ -316,11 +316,20 @@ static struct rcu_scale_ops tasks_ops = { * Definitions for RCU-tasks-rude scalability testing. */ +static int tasks_rude_scale_read_lock(void) +{ + return 0; +} + +static void tasks_rude_scale_read_unlock(int idx) +{ +} + static struct rcu_scale_ops tasks_rude_ops = { .ptype = RCU_TASKS_RUDE_FLAVOR, .init = rcu_sync_scale_init, - .readlock = tasks_scale_read_lock, - .readunlock = tasks_scale_read_unlock, + .readlock = tasks_rude_scale_read_lock, + .readunlock = tasks_rude_scale_read_unlock, .get_gp_seq = rcu_no_completed, .gp_diff = rcu_seq_diff, .async = call_rcu_tasks_rude, From patchwork Mon Jul 17 18:11:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 121515 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1274777vqt; Mon, 17 Jul 2023 11:25:24 -0700 (PDT) X-Google-Smtp-Source: APBJJlExbPQvu7b6sFBr0Bbv8WaaVzBC6ngfvvQPYwvYZfghmJzhvxg2owswsrnA/UJCh+9f++Et X-Received: by 2002:a17:907:3c0e:b0:992:ef60:aae0 with SMTP id gh14-20020a1709073c0e00b00992ef60aae0mr11112611ejc.54.1689618324192; Mon, 17 Jul 2023 11:25:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689618324; cv=none; d=google.com; s=arc-20160816; b=tGY3woKAEXvlnaT+RVytix6BNgTxwusQyfF62dKPmWw6bH+Y+gSvl+PcKBMUbbQ3iX Q0GUmHiPIizxKBw7GIrAKF07QtVfLuOuFG0aUoUlq0DCHqm3xKIqh5RL9Gfr2NMOr7Lg 85LBGDiDQIjLTuDLDkhUbcxpy5seVfILR8u6KZrwWa0C2QDkRhsVi6lFV9bgFkrscA+m bfwuZGvCmoGgIkL4oc6XoEwfkmXDV4TtV9O+hBn+gNOIjLDCk1kXZMaboEMQRJhcD66q 4IIxPtZ397ywbvLhqSaVgyl3tOquAY+iL4uL15MSH3C72wxVwbJoAJ5DpMy46zh587O5 CtQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=xhyyX9hNMmCj4z7I7TYMRlaBBuvDLk5tX/Xm0o5G2WQ=; fh=OVhDZbgT60ppErFe2Ffd3WRhSDkYWLU8b8sQnSp+GtE=; b=ssSsW35vnDN6QvViPQWs8rnTCnVaSuJ+O895lNymfLSMg+kVUz9veuctVrbfs7PqPc RAzQPty9mhftbkcpbRWKWnnmpDSaYsi8NYzYD0oCB6zvhPLo6rLizpgu7ZJzWPaMxzrX fj/897+1nSfwMfQsTrEM+QgZbHm8slDCg2dYblFPICXZX5MWktPVTezlacadnzqLRwgJ Yp5O1A1Ac/2dU3cuzvMp95RE02JmszqRtWcMO0bopHMzbuMi0l8mJIOsvSZ90yemeduJ p9NPVOlB8mcuPJlsAdSDr7Z0DKOy2XrUeSZxt+AMRVCp81i7SmjKw/wGXc56q2eQftMJ T/9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=FUHfGjun; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id qw12-20020a170906fcac00b009829077b479si13599936ejb.860.2023.07.17.11.24.59; Mon, 17 Jul 2023 11:25:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=FUHfGjun; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231653AbjGQSMM (ORCPT + 99 others); Mon, 17 Jul 2023 14:12:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42262 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231250AbjGQSLp (ORCPT ); Mon, 17 Jul 2023 14:11:45 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 12A1EAF; Mon, 17 Jul 2023 11:11:42 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 45E28611F4; Mon, 17 Jul 2023 18:11:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 786EDC433BC; Mon, 17 Jul 2023 18:11:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689617500; bh=vix7h77GWNfJdMQzOHlK9PUbzIuAVD8zltRARIbDHYU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FUHfGjun/+k6Z0PmRI8KVShnl9DhjSU7tH1B+TDkDpLdUve8i5qTejS/0nPDc1N78 cOTpC01MxYPlQkN3xlmysiTVlOc25XtpnkYVE29bgEQJ9xmUuE0vrh3l0AHsWc4qO7 MaVNyc/cGX44aqIyORtRoDsXEhFEk8/KOCZZMubTWu3lc4xKDo3kqbVcaMzCXz+hqH EjPgjruyq1Na8UN6joQy+8ZgDe2oa7NG3sRp7asYoInUoF9Em9Fh+ko1v1Ar7Y243k FiYE3KYwDOZ0QEk9kIKvn1ovcKiHLtEtbKofd/ED7EMdvCESnchVzVmpiXBXZ/D0Jj +Ggr0QWUDHlsQ== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id C6D12CE0A10; Mon, 17 Jul 2023 11:11: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, Zqiang , "Paul E . McKenney" Subject: [PATCH rcu 12/13] rcuscale: Move rcu_scale_writer() schedule_timeout_uninterruptible() to _idle() Date: Mon, 17 Jul 2023 11:11:37 -0700 Message-Id: <20230717181138.1098063-12-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771693223963965741 X-GMAIL-MSGID: 1771693223963965741 From: Zqiang The rcuscale.holdoff module parameter can be used to delay the start of rcu_scale_writer() kthread. However, the hung-task timeout will trigger when the timeout specified by rcuscale.holdoff is greater than hung_task_timeout_secs: runqemu kvm nographic slirp qemuparams="-smp 4 -m 2048M" bootparams="rcuscale.shutdown=0 rcuscale.holdoff=300" [ 247.071753] INFO: task rcu_scale_write:59 blocked for more than 122 seconds. [ 247.072529] Not tainted 6.4.0-rc1-00134-gb9ed6de8d4ff #7 [ 247.073400] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 247.074331] task:rcu_scale_write state:D stack:30144 pid:59 ppid:2 flags:0x00004000 [ 247.075346] Call Trace: [ 247.075660] [ 247.075965] __schedule+0x635/0x1280 [ 247.076448] ? __pfx___schedule+0x10/0x10 [ 247.076967] ? schedule_timeout+0x2dc/0x4d0 [ 247.077471] ? __pfx_lock_release+0x10/0x10 [ 247.078018] ? enqueue_timer+0xe2/0x220 [ 247.078522] schedule+0x84/0x120 [ 247.078957] schedule_timeout+0x2e1/0x4d0 [ 247.079447] ? __pfx_schedule_timeout+0x10/0x10 [ 247.080032] ? __pfx_rcu_scale_writer+0x10/0x10 [ 247.080591] ? __pfx_process_timeout+0x10/0x10 [ 247.081163] ? __pfx_sched_set_fifo_low+0x10/0x10 [ 247.081760] ? __pfx_rcu_scale_writer+0x10/0x10 [ 247.082287] rcu_scale_writer+0x6b1/0x7f0 [ 247.082773] ? mark_held_locks+0x29/0xa0 [ 247.083252] ? __pfx_rcu_scale_writer+0x10/0x10 [ 247.083865] ? __pfx_rcu_scale_writer+0x10/0x10 [ 247.084412] kthread+0x179/0x1c0 [ 247.084759] ? __pfx_kthread+0x10/0x10 [ 247.085098] ret_from_fork+0x2c/0x50 [ 247.085433] This commit therefore replaces schedule_timeout_uninterruptible() with schedule_timeout_idle(). Signed-off-by: Zqiang Signed-off-by: Paul E. McKenney --- kernel/rcu/rcuscale.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/rcu/rcuscale.c b/kernel/rcu/rcuscale.c index a0eae1900708..ffdb30495e3c 100644 --- a/kernel/rcu/rcuscale.c +++ b/kernel/rcu/rcuscale.c @@ -469,7 +469,7 @@ rcu_scale_writer(void *arg) sched_set_fifo_low(current); if (holdoff) - schedule_timeout_uninterruptible(holdoff * HZ); + schedule_timeout_idle(holdoff * HZ); /* * Wait until rcu_end_inkernel_boot() is called for normal GP tests From patchwork Mon Jul 17 18:11:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. McKenney" X-Patchwork-Id: 121510 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1274503vqt; Mon, 17 Jul 2023 11:24:45 -0700 (PDT) X-Google-Smtp-Source: APBJJlEG395NnUVEOR4So0UcctM2cu1Wj6wQoVan2q2fOaAtUuG+kVIoYW9QgHEO8FpTkqarhCL6 X-Received: by 2002:a17:906:dfe4:b0:98e:1484:5954 with SMTP id lc4-20020a170906dfe400b0098e14845954mr11935781ejc.71.1689618284812; Mon, 17 Jul 2023 11:24:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689618284; cv=none; d=google.com; s=arc-20160816; b=CiS6yRI5rKtMbEUfnMzxI9LeD7mtyY8q3SSRT1eY4YMFl/U75DOXacUFlDTsRWCtLp 3+nPsZje7I/UYOyyAYn1wCAVb36e6tQJfquh/yQml6mY4O91lBiXCw75Vl+2kq5Ermrs 464SJRxH7PRLcL89SkpQwkXump62f6KoJh2mvbK1mSqysmLyaKoP4nikp+uEBSY+Nbkq WyJu8bN/egbRq4qSu/nrMMA6opxFK/nQoeg8jhcEzexIVFOpT/4FAg44i2eU2nrTjZbB DdZkwc8MZAR6eQ+RFJl3Nns4KnwIus7bV46QXsNBp/SaZcmMTLQnubzE3L8XpmNHRjj7 Nu6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=EOj/BVptHr0B7mXDgoVXbsddrgkjCS0UEW+TrDsZ9vA=; fh=Ag0RbRk3LxdpQ9OdMLAf8hbnmFe6FOAHRGAvgVTwgEc=; b=PwFybEZDvlm37V3CRfM5OXYnzfNPV1tZm2ypm9wYLBOkDNwv9FwCeLvNUwvPR3nHue dC2At0/TMxLdj0+mCCqu8MfhzelS0t6tRNOv3kKziIuwRREMeIp7fgBNDEXm3uvAefr/ TcyyT8yicT1r0CEtHaphA9U5MwSaXP4Lwxlfk123QrpKTUlQFiaztsVrW3sg9g+eH15v huNve31/VILPpWKFm47EvaEK0TnTJ2p7bSqXI9rm2ukl6mCziBppI+zZkPHSwZE4I1JC 6issKsMMEBSKtLE6CbpxMGtSyHr4gU+qyJ4h/blZ4KjPfVEBpEw9u/hsQHbo9Ky3mMr/ vDyg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=MoJLg8xu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i8-20020a17090685c800b00992d0de8761si13299668ejy.909.2023.07.17.11.24.21; Mon, 17 Jul 2023 11:24:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=MoJLg8xu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231324AbjGQSMG (ORCPT + 99 others); Mon, 17 Jul 2023 14:12:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42252 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231217AbjGQSLo (ORCPT ); Mon, 17 Jul 2023 14:11:44 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 12E5FE7F; Mon, 17 Jul 2023 11:11:42 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 46473611F5; Mon, 17 Jul 2023 18:11:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 829E6C433BF; Mon, 17 Jul 2023 18:11:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689617500; bh=1idW3qeMxeR/pQhpNzqDLOrZBK/BHCj+UCLTJY852f4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MoJLg8xuXNwGHpVNV1qzauZ71fIsFOh0jKQChIYHxZSM1WVf6Xk8tngWps4HXo9wl z5P51FfAZ+uBQMShS7/hMnooBscEB0s/vAlBvQ26yWhTPlr0Ax49opu+8WNcDLuEA0 nQFO8T8J8clIdadcRqCfdsAyJ+DPsh/DN+l6W9PfcBCgVa9CDBmPs05xD9orHk2OfZ i8eTwk7kJrePNe0BIQhYysCWFV+2y+kUSeD9QC8P1zPXWAHu1EaxPx2CS6cNX/LDJ8 pLFxADrYHZZTd3JNYVuHxl/iR0yQkpjVUxCk2waPrmBu/a6x5VUL0t4zDSOZRK593J G4/+x6FwPSj/g== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id C8EC7CE0A11; Mon, 17 Jul 2023 11:11: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 rcu 13/13] rcuscale: Add CONFIG_PREEMPT_DYNAMIC=n to TRACE01 scenario Date: Mon, 17 Jul 2023 11:11:38 -0700 Message-Id: <20230717181138.1098063-13-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771693182814058140 X-GMAIL-MSGID: 1771693182814058140 It is no longer possible to build a kernel with a preemption-disabled RCU without use of CONFIG_PREEMPT_DYNAMIC=n. This commit therefore adds CONFIG_PREEMPT_DYNAMIC=n to the rcuscale torture type's TRACE01 scenario file. Signed-off-by: Paul E. McKenney --- tools/testing/selftests/rcutorture/configs/rcuscale/TRACE01 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/testing/selftests/rcutorture/configs/rcuscale/TRACE01 b/tools/testing/selftests/rcutorture/configs/rcuscale/TRACE01 index 227aba7783af..0059592c7408 100644 --- a/tools/testing/selftests/rcutorture/configs/rcuscale/TRACE01 +++ b/tools/testing/selftests/rcutorture/configs/rcuscale/TRACE01 @@ -2,6 +2,8 @@ CONFIG_SMP=y CONFIG_PREEMPT_NONE=y CONFIG_PREEMPT_VOLUNTARY=n CONFIG_PREEMPT=n +CONFIG_PREEMPT_DYNAMIC=n +#CHECK#CONFIG_TREE_RCU=y CONFIG_HZ_PERIODIC=n CONFIG_NO_HZ_IDLE=y CONFIG_NO_HZ_FULL=n