From patchwork Tue Oct 10 11:58:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150695 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp139464vqb; Tue, 10 Oct 2023 04:59:50 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGukcx8ywJmBh91ZKAtQbaAwV5uXRikICrQpu44RjUY66gs+qadgHnMtvqx/gmfoKJquMFU X-Received: by 2002:a05:6358:6f9e:b0:139:e7db:3f3f with SMTP id s30-20020a0563586f9e00b00139e7db3f3fmr14176748rwn.10.1696939190469; Tue, 10 Oct 2023 04:59:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939190; cv=none; d=google.com; s=arc-20160816; b=M1o0zkdW9w0GA30wtn4Ka2unldAE12HB9z4tEuJDlHms2IyJ2hKvpzOhnPaKDd4ESC XBfbgZTlmHyloN+MQz4UdbLtgorfjSP8lrYwdK3TVStlZKrfBPiIhYQ69S3TXZDPdjeV rC9I9StB52cwXxRn2IQ3JuAwh5tTQXpJ7jqJqcS2lNxA1YF2lB6J0bqiMHixy/CR/9XP k292MEjJq4Do/4ALc0xWPTRbhfUNvOoIiic+G8A/IvpHNqJKfTP6bJfH2uHQ8chAarRy Jv00YBAUJfvThoaqZT6RAKP1JJjJI5wS7X3g9pmOZ4goDdfE1RT1wojDYzkslO4vpSDr 4hag== 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=fV6C3fWt60Cbw3teG3Z6moL8ZhM7tn0fWS6DTZOhWcw=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=Yx3tppQZ9d/hIUvVFn7Fw9zlKJEiJd8FhRSzpLlwDfHv6OnHdEiNK5DMvhJsByf42W o2Rx3gyrKxUwbS56J6gDadCBjB53bKHUxsCsaQG5pw3drn7wZi0dDNWc9OWRF7A1na1I f2dBlXXzwyQZ8Co7TI7lqHpYLU4gvpqJNBKmBoJ0xiUR6ohfRkTsVj1AwKiqq+8T3Rs6 PGOSGStqXr+5wdhl9UyVmdEXLwDYpPQRtdCubZxwoyqJLuRNJlK0zsR24QtGo+qq+UfM ZHOq6DfnrRcqUyiP1lLTI+5EF3dY2DayUMY/SEtAj8BXaiW+g5EQUyIrbjjg7bGTPlIE RKuA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=HBwTdFFy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id bx29-20020a056a02051d00b00588d84b1217si13813069pgb.415.2023.10.10.04.59.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 04:59:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=HBwTdFFy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id B6CA8815A1C9; Tue, 10 Oct 2023 04:59:48 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231575AbjJJL7l (ORCPT + 20 others); Tue, 10 Oct 2023 07:59:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41630 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231557AbjJJL7i (ORCPT ); Tue, 10 Oct 2023 07:59:38 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7A3EC94; Tue, 10 Oct 2023 04:59:37 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CB2FCC433C9; Tue, 10 Oct 2023 11:59:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939177; bh=kVkO+0yKi9ZpS4FWGCS7Kv5Nw6GETSxYizAFJIe2H3Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HBwTdFFyikcuW6zjgSfptEjDuaNX/KFrnf74ZHK7pPfzVMwkyIIKaj9oWSk2/E1Mw qzrsA4SH6hh1k6jAeQgxbG5f8CegrVjWMOAu2/3NvqCLu3SM5cmoMn3m7X7BliNOV1 mSjXMW0J1MQTPZRVLQRHTMkS8is4YvN1D5/25QHSP+WK1kF+e5/awLb2TIZWFYie46 31yOjVFf0K4zwdXfPH8XL/ZN4hNirLQR1hDyHuyMSxQ5f1ZxFAIABoA7kmHmNU9r1r duPEUI6f0wTldpEc+jtNyF8KgqB8UsEUX+YskTygFENqU+v8QBNolufhMBXN/o3T4W GHYh5cZxb3rsg== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 01/23] torture: Share torture_random_state with torture_shuffle_tasks() Date: Tue, 10 Oct 2023 13:58:59 +0200 Message-Id: <20231010115921.988766-2-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 10 Oct 2023 04:59:48 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369708598594295 X-GMAIL-MSGID: 1779369708598594295 From: "Paul E. McKenney" Both torture_shuffle_tasks() and its caller torture_shuffle() define a torture_random_state structure. This is suboptimal given that torture_shuffle_tasks() runs for a very short period of time. This commit therefore causes torture_shuffle() to pass a pointer to its torture_random_state structure down to torture_shuffle_tasks(). Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- kernel/torture.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/kernel/torture.c b/kernel/torture.c index b28b05bbef02..68dba4ecab5c 100644 --- a/kernel/torture.c +++ b/kernel/torture.c @@ -520,9 +520,8 @@ static void torture_shuffle_task_unregister_all(void) * A special case is when shuffle_idle_cpu = -1, in which case we allow * the tasks to run on all CPUs. */ -static void torture_shuffle_tasks(void) +static void torture_shuffle_tasks(struct torture_random_state *trp) { - DEFINE_TORTURE_RANDOM(rand); struct shuffle_task *stp; cpumask_setall(shuffle_tmp_mask); @@ -543,7 +542,7 @@ static void torture_shuffle_tasks(void) mutex_lock(&shuffle_task_mutex); list_for_each_entry(stp, &shuffle_task_list, st_l) { - if (!random_shuffle || torture_random(&rand) & 0x1) + if (!random_shuffle || torture_random(trp) & 0x1) set_cpus_allowed_ptr(stp->st_t, shuffle_tmp_mask); } mutex_unlock(&shuffle_task_mutex); @@ -562,7 +561,7 @@ static int torture_shuffle(void *arg) VERBOSE_TOROUT_STRING("torture_shuffle task started"); do { torture_hrtimeout_jiffies(shuffle_interval, &rand); - torture_shuffle_tasks(); + torture_shuffle_tasks(&rand); torture_shutdown_absorb("torture_shuffle"); } while (!torture_must_stop()); torture_kthread_stopping("torture_shuffle"); @@ -673,7 +672,7 @@ int torture_shutdown_init(int ssecs, void (*cleanup)(void)) if (ssecs > 0) { shutdown_time = ktime_add(ktime_get(), ktime_set(ssecs, 0)); return torture_create_kthread(torture_shutdown, NULL, - shutdown_task); + shutdown_task); } return 0; } From patchwork Tue Oct 10 11:59:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150696 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp139485vqb; Tue, 10 Oct 2023 04:59:53 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGVjDkbA9K06T8Xw2NcrjMH2IfxPHKD2BjsKtokL5aKFYkf4mwa7DuUF01tlXf46P6FkGHo X-Received: by 2002:a05:6830:1d6c:b0:6bd:d1fc:2f2f with SMTP id l12-20020a0568301d6c00b006bdd1fc2f2fmr20399005oti.21.1696939193472; Tue, 10 Oct 2023 04:59:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939193; cv=none; d=google.com; s=arc-20160816; b=x+1dRv7C4N1yKk9WklKGP2yVms6VrdjKPOc6IqggD823ylpTAgxUfHOkF1NT4WLe/6 0D65V1LKJVVsTBgDZVTTACUrV39OWRRS4MBQYiF9XanVxR61ifUYUoL4yd1YUun0z6RZ 0y794hy5Q0e0auV28Fti32HqhWpUAzlRL1SBP1IsZkKnl1CzzD3e7MSwPLYLsqolSvKQ aF2VCkUEscKS6TvQUqXs88zuqT4j07y7DtWB9qximHIJkBQfL/OdmJOKSZDZnOY4x9id jKhzcEsQosXa53JbXl1KxMQzVjxtH+hcl/kiKErc0HasU4JQgF15/ajIzvfUcjOyOUAZ p1SQ== 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=3xdp1hvU7aywx2P2VAQQ8DsnuSPsqGZAdxCXRpOOtMY=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=wkRQ5E7KyU6BxOkWYbJP02AZe0cqjRs0dixhN6CtEdI1/uIf3mRVedYbd5RT52i/BD jeIOgoXdVRQMuO1rd7BS6unJhOOTyZElginL+AaucgxRixsoMj+Ml2jvuAvqy9jrDmMb qEy9WAFsBZ5HyZYV2qjNLT0ewUHOeB2bwoSDoWOKQjhqkAqVL7Q4y31bM1h2LVt2+A4B nk9w6QvoqVFZNDHOzyWvIlc6ePDWB2JLTbmy82Okg2s5b1q1trJifMAE0yw0P9G9QbHD Szr9GrdDTxjZmwxOOqnVvUZvy+cO2YLruafGbiArPu8u507m0o5kgXURUmz4pY2Z3nSM qCuQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=gCAQ+gwc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id m125-20020a632683000000b00573f89ac5a1si11642403pgm.102.2023.10.10.04.59.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 04:59:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=gCAQ+gwc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id C932B815A1DD; Tue, 10 Oct 2023 04:59:52 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231599AbjJJL7p (ORCPT + 20 others); Tue, 10 Oct 2023 07:59:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41656 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231574AbjJJL7l (ORCPT ); Tue, 10 Oct 2023 07:59:41 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 46181A9; Tue, 10 Oct 2023 04:59:40 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 914E1C433CA; Tue, 10 Oct 2023 11:59:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939179; bh=tSGEYv51Dhg9ETdgGzzG256uidsi90k2m7SJ6WOU+4I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gCAQ+gwcTruuJDRtJOD7wDN2smXZr8OHY+aalBqsNo/w6qpdEw0ouHcERzJcpI2dl ov/OXmxzS+Jn15+KhYlHLyfpOSRV49n60ZzztSqqzJ1zrA4aT3LsFs6Zgd7U9lW9/V /7csSZ7mr6gy5B0JmyO+CmArP9+WOgOxayT2L2IhBStZkBjNRebpk5FhYlx9iemCyq SJzlOK0d46KUVl5SQGADgs8vyDVQgx0PiL9zYZiE4abyB7olIBRnKvyjCOMSLhzu2Z hg7H/Pjf1jWx7YqWS18++iRwrOQ0+NuWt+fGL9XC0Dfvd+0qMSDNTv1qYI8HR364QV 3mS6ZsVRPk/gw== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 02/23] torture: Make kvm-recheck.sh use mktemp Date: Tue, 10 Oct 2023 13:59:00 +0200 Message-Id: <20231010115921.988766-3-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 10 Oct 2023 04:59:52 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369711822880084 X-GMAIL-MSGID: 1779369711822880084 From: "Paul E. McKenney" This commit switches from the old "/tmp/kvm-recheck.sh.$$" approach to the newer and now reliable "mktemp" approach. Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- tools/testing/selftests/rcutorture/bin/kvm-recheck.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/rcutorture/bin/kvm-recheck.sh b/tools/testing/selftests/rcutorture/bin/kvm-recheck.sh index 5be670dd4009..de65d77b47ff 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm-recheck.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm-recheck.sh @@ -13,7 +13,7 @@ # # Authors: Paul E. McKenney -T=/tmp/kvm-recheck.sh.$$ +T="`mktemp ${TMPDIR-/tmp}/kvm-recheck.sh.XXXXXX`" trap 'rm -f $T' 0 2 configerrors=0 From patchwork Tue Oct 10 11:59:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150697 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp139515vqb; Tue, 10 Oct 2023 04:59:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFfXOct9+g8X0JeZTqhSaDGQGWWk/jYkQMTAvah7zQpieSIfWpEN59r71GPMC38A5bgJnVP X-Received: by 2002:a05:6808:1310:b0:3a9:e8e2:5799 with SMTP id y16-20020a056808131000b003a9e8e25799mr23263466oiv.14.1696939195873; Tue, 10 Oct 2023 04:59:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939195; cv=none; d=google.com; s=arc-20160816; b=Ffyaul1JZEpUhGXRG1pjk6ekG/kS2Wqt287GMf+ck6tS0YTJZ3Ga8g7CD36nSYEJC/ a8kphNdzbWkleupRSEZm7EerG/5Ch6jOyAydA7UA7cB/XsmKHu10S4P/vkEkFjSg3jAk wpSxHYfzNP3oRFVlK7e8HTPRPBOVw/ZJ//ULZLKqC2ELn3M5OWIJZ9sdnFjkPZWeEPSt CLn7b83Gyhnl2mJSpf3Gx+EwsiGjvD6Uo9V9l20QcLAOvq750aM6YT0X8MPOSgCqrZYK AuiXgoCcESevQImRGnMtSc5+TP4GUzaMleZpjvpjIgMJUqZIgz02F9amZ7tMH9o5XTNn C64g== 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=6TeAGL6VrWMnxFu7U2uMUc1Ii/rZEg7l6x6B/cCde4U=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=PHRTgT11AO67kf7lknKDTEC29fvFmkvfjAZCCLbFfJEIJWeEIZDfXVhXa/YBvJ8mN5 Xe0QTEQ2AxACJ31CdOIMxoGYA08T9ZI7B+5y8By8Pch7xjCDpnpt4yXSsl5Z4eqJW6bA ANkltS73MhfkLH8hHVbEPaa0RYOtiGtvjY85D42Oo9k0Ior6ldTkgyGlakVFVCpdSXa+ AboSJN/2O5k+G2Ojv0NVg5vsgDbQWSAhnsDWxHzUO5t1kXYiCiCVzBtmJzMuzuBN/1uq QIOXpId2sgDGEeimAIMSmZkh/54KAVglplSEWtXMQZLxTBC5Lf6KgvVuLHyL5fbRMjHb vu8g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=N10vcVSH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id m2-20020a633f02000000b0059d45bf6907si484330pga.551.2023.10.10.04.59.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 04:59:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=N10vcVSH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 78543815A1EA; Tue, 10 Oct 2023 04:59:54 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231567AbjJJL7v (ORCPT + 20 others); Tue, 10 Oct 2023 07:59:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47352 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231607AbjJJL7r (ORCPT ); Tue, 10 Oct 2023 07:59:47 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1FE4AD6; Tue, 10 Oct 2023 04:59:43 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5980EC433CC; Tue, 10 Oct 2023 11:59:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939182; bh=yY4b8whFEwnmlYcpE6hF0dsGH6oKpTRsy7zKEUgC6Z4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=N10vcVSHoCFumioWjGZilOa3IUNIErDU2RGiqtrv/arquLmUnQWc/ZtKkO2xF4omL LI/CYXs5AG+ZXaJbGfj2//C67e59LDYtpO2WLXVtUveX7KLYwu6294MwXUeOwdQyS1 jf+iQqfPAv6EJDgB6EGr+ufhn887EgH4cw/iGBWDZ9hHHTrxmTRVSb47veqwne/l3j jDc7BxsTKFB+QFM1A6e5alpKK6WI/rXj35BdGRN5tWQz/KOK8yE2Q1RCGgl42aEOK7 IwyYZGrEvXVm15MsWlcuxMq1hqhqogIpE3/UXDDxmfjpRXtc41rZxnBitcQmwh4y1n zzpOfoWEav08Q== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 03/23] torture: Make torture_hrtimeout_ns() take an hrtimer mode parameter Date: Tue, 10 Oct 2023 13:59:01 +0200 Message-Id: <20231010115921.988766-4-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 10 Oct 2023 04:59:54 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369714128193911 X-GMAIL-MSGID: 1779369714128193911 From: "Paul E. McKenney" The current torture-test sleeps are waiting for a duration, but there are situations where it is better to wait for an absolute time, for example, when ending a stutter interval. This commit therefore adds an hrtimer mode parameter to torture_hrtimeout_ns(). Why not also the other torture_hrtimeout_*() functions? The theory is that most absolute times will be in nanoseconds, especially not (say) jiffies. Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- include/linux/torture.h | 3 ++- kernel/torture.c | 13 +++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/include/linux/torture.h b/include/linux/torture.h index bb466eec01e4..017f0f710815 100644 --- a/include/linux/torture.h +++ b/include/linux/torture.h @@ -81,7 +81,8 @@ static inline void torture_random_init(struct torture_random_state *trsp) } /* Definitions for high-resolution-timer sleeps. */ -int torture_hrtimeout_ns(ktime_t baset_ns, u32 fuzzt_ns, struct torture_random_state *trsp); +int torture_hrtimeout_ns(ktime_t baset_ns, u32 fuzzt_ns, const enum hrtimer_mode mode, + struct torture_random_state *trsp); int torture_hrtimeout_us(u32 baset_us, u32 fuzzt_ns, struct torture_random_state *trsp); int torture_hrtimeout_ms(u32 baset_ms, u32 fuzzt_us, struct torture_random_state *trsp); int torture_hrtimeout_jiffies(u32 baset_j, struct torture_random_state *trsp); diff --git a/kernel/torture.c b/kernel/torture.c index 68dba4ecab5c..6ba62e5993e7 100644 --- a/kernel/torture.c +++ b/kernel/torture.c @@ -87,14 +87,15 @@ EXPORT_SYMBOL_GPL(verbose_torout_sleep); * nanosecond random fuzz. This function and its friends desynchronize * testing from the timer wheel. */ -int torture_hrtimeout_ns(ktime_t baset_ns, u32 fuzzt_ns, struct torture_random_state *trsp) +int torture_hrtimeout_ns(ktime_t baset_ns, u32 fuzzt_ns, const enum hrtimer_mode mode, + struct torture_random_state *trsp) { ktime_t hto = baset_ns; if (trsp) hto += torture_random(trsp) % fuzzt_ns; set_current_state(TASK_IDLE); - return schedule_hrtimeout(&hto, HRTIMER_MODE_REL); + return schedule_hrtimeout(&hto, mode); } EXPORT_SYMBOL_GPL(torture_hrtimeout_ns); @@ -106,7 +107,7 @@ int torture_hrtimeout_us(u32 baset_us, u32 fuzzt_ns, struct torture_random_state { ktime_t baset_ns = baset_us * NSEC_PER_USEC; - return torture_hrtimeout_ns(baset_ns, fuzzt_ns, trsp); + return torture_hrtimeout_ns(baset_ns, fuzzt_ns, HRTIMER_MODE_REL, trsp); } EXPORT_SYMBOL_GPL(torture_hrtimeout_us); @@ -123,7 +124,7 @@ int torture_hrtimeout_ms(u32 baset_ms, u32 fuzzt_us, struct torture_random_state fuzzt_ns = (u32)~0U; else fuzzt_ns = fuzzt_us * NSEC_PER_USEC; - return torture_hrtimeout_ns(baset_ns, fuzzt_ns, trsp); + return torture_hrtimeout_ns(baset_ns, fuzzt_ns, HRTIMER_MODE_REL, trsp); } EXPORT_SYMBOL_GPL(torture_hrtimeout_ms); @@ -136,7 +137,7 @@ int torture_hrtimeout_jiffies(u32 baset_j, struct torture_random_state *trsp) { ktime_t baset_ns = jiffies_to_nsecs(baset_j); - return torture_hrtimeout_ns(baset_ns, jiffies_to_nsecs(1), trsp); + return torture_hrtimeout_ns(baset_ns, jiffies_to_nsecs(1), HRTIMER_MODE_REL, trsp); } EXPORT_SYMBOL_GPL(torture_hrtimeout_jiffies); @@ -153,7 +154,7 @@ int torture_hrtimeout_s(u32 baset_s, u32 fuzzt_ms, struct torture_random_state * fuzzt_ns = (u32)~0U; else fuzzt_ns = fuzzt_ms * NSEC_PER_MSEC; - return torture_hrtimeout_ns(baset_ns, fuzzt_ns, trsp); + return torture_hrtimeout_ns(baset_ns, fuzzt_ns, HRTIMER_MODE_REL, trsp); } EXPORT_SYMBOL_GPL(torture_hrtimeout_s); From patchwork Tue Oct 10 11:59:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150698 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp139558vqb; Tue, 10 Oct 2023 04:59:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGdJ2oezv05QrbMyWpJeE5S9N8IIwt0Ww9oYlP1ht0f3Mlo9T+ArdgU/NPWdtS75tNxeeSF X-Received: by 2002:a05:6e02:1a43:b0:351:59db:a214 with SMTP id u3-20020a056e021a4300b0035159dba214mr22545826ilv.20.1696939199506; Tue, 10 Oct 2023 04:59:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939199; cv=none; d=google.com; s=arc-20160816; b=QVdqFCjLp7DtxokzEJ3m+HS5e53Cxh0R+0VOL5h8nqd7Rnvzh1ffodcEVOkxngc8kH NlJqq+0a+V7X7Pa/smvDPmxpT2rzg0FlyeD20zlR2PsgBT+kv7tVODrw6UxgbEffE2AM FnZTh6vqdgiiIT98rsokRepAdowY1djguECX5sw1H3kpIahOfOaT36GXuamiXSJFmxaG guBiz3HRmI6CV6oPRaseJgtLsLU+aA6PlyrExNwAFPIFAvWkeiUJkGcMK/Pj3rHn7sVa ZaUgwoLytymh7J80I0kSI9g1B/LV/BsfG8YHoN6FapjlwxUhAjh2mai7cg8NbnqlSJ8t kD2A== 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=vtA7ToElzzzalgYC3cLrBOwb6/Z2BXZDzvPHhnNaMy4=; fh=2TVQhL323dfLIofsRpGm8RVCXA05TKL3WSHTk53f+wg=; b=YVL3Q/FSs9zp0c2KHsW2sdOYdeuWMyhY0e38MpvdPXYvXfYOgIBNdMUT8KANonqfQU YS00HrIXtdW3O8fpEdH4z7PR+2iQomhM7x3o5fTNIG5llxN34FM5eSNBy7xhP7ttinC3 P9JXfghsnoz+Xo+PzOdEX/5qqlLyfIt1AAzOE4dftdgOSoloxVCKEFRajEnk1V5xnTAb QUuxe0DL63M/5bRYu0qoIn1DYSF7/PQjr7K19W0TsEbt4Qm9oaScHfrLOaLymzyWqV3p Aj1yB2TJmwU881v4Ixb/dr76RQNkCWdzHh7b1gPXRY4Ge1CJ+QpEtmpgwK68/5YVCHST N8Iw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=p2H6YDRO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id q26-20020a635c1a000000b00564b99f128dsi11735649pgb.656.2023.10.10.04.59.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 04:59:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=p2H6YDRO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 5E706815A1F3; Tue, 10 Oct 2023 04:59:57 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231633AbjJJL7y (ORCPT + 20 others); Tue, 10 Oct 2023 07:59:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47348 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231604AbjJJL7u (ORCPT ); Tue, 10 Oct 2023 07:59:50 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 08936E4; Tue, 10 Oct 2023 04:59:45 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 21591C433C7; Tue, 10 Oct 2023 11:59:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939185; bh=GE9U3gvNzMf7JPUQGgbJUlMwcLomHVh99nCtJR5L1+4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=p2H6YDROt4PXAwVCp/EPXQHKwR+d0QbgGGGJxGRNfuIgFZrO0QTCFXlbzLZqN/Kky ym9Dzava8Lp2B5c43ipJ5Z9KHqGyK+6sxOpKypQ3iHvU3yiifIU1QuGmmtRz4ZOx++ K0vmJCK80n/jG6HJvM/sYHd2LuAy8xuWEVt/5FE/Egyy+LuWhxzS0vv+mAhisN8Brv S3rR3w1qxQNAMnf8FHlN/P/qfJQYGXhu/ifLhEd5IGDW4/9ncKhZBBLGMbwQ6kJ2th XCjGLSF+9VVwj09CchQK5cNabuWYo+DRNA/CxAabUdhIN7SWZskcyxYJ8HFf8/nck+ 0W/nForttA74w== From: Frederic Weisbecker To: LKML Cc: Arnd Bergmann , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , "Paul E . McKenney" , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 04/23] rcu: Include torture_sched_setaffinity() declaration Date: Tue, 10 Oct 2023 13:59:02 +0200 Message-Id: <20231010115921.988766-5-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 10 Oct 2023 04:59:57 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369717658279652 X-GMAIL-MSGID: 1779369717658279652 From: Arnd Bergmann The prototype for torture_sched_setaffinity() will be moved to a different header, which will need to be included from update.c to avoid this W=1 warning: kernel/rcu/update.c:529:6: error: no previous prototype for 'torture_sched_setaffinity' [-Werror=missing-prototypes] 529 | long torture_sched_setaffinity(pid_t pid, const struct cpumask *in_mask) Signed-off-by: Arnd Bergmann Reviewed-by: Joel Fernandes (Google) Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- kernel/rcu/update.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c index 19bf6fa3ee6a..9d3c2e6ba667 100644 --- a/kernel/rcu/update.c +++ b/kernel/rcu/update.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include From patchwork Tue Oct 10 11:59:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150704 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp140565vqb; Tue, 10 Oct 2023 05:01:15 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGtrSaMrl+xhBmkf6g+n87Xis8+z1KKZOFrMf1OQWHtxJNpmTZWGR7eqvacnMZkwGFH+pt4 X-Received: by 2002:a17:90b:4d85:b0:268:553f:1938 with SMTP id oj5-20020a17090b4d8500b00268553f1938mr14985950pjb.4.1696939274856; Tue, 10 Oct 2023 05:01:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939274; cv=none; d=google.com; s=arc-20160816; b=a5p/WTo6shpHWbZyn5VhLvCKegwxQTsG7SKeWThdgGAqfFxqbfdi9xg8pczkXgE75H eAjidqsJonNywrMjaiNxhZVErZ5ACkcC4uR8iQWC6f5NQ+RR8wE6aL+7ZNx1viyc3qv0 Zwl+eNhzLZuFJdMKJn+52x1A51rhxzcL+ITsTbqbWpYcCjAsPlBfNI+XYcqK2bvVpnL/ xaHWxQQxCbezXh2+2DUTjC3m+1R+2g+T68XFNOeLus143dc8gMsiC9CQw+hHDiUyyW8N 7F8aV1wVAx8vipvaFBXXfJLOVgftXoLOLy+0EnEHJwiBOsXMzWcvjuqwmTgG0nf7X0FE cOiw== 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=Xi+GZROHZKX96vFvxULwy4OBsc3T3hs9u7PZWLbb2sM=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=Q50xLnFSYBll3/jSV86n+6MVJqOBQfofJzZrVHE0sd+Hlh1yKiCHjIN+IFFphXickG jej1xFeGSsc2u2p5IQ/P+9h4dpY4DPj6XXuAOWtAwfvB74+dY7Z9tNYfiMhE0XCA7FWl 7bJmRhhDuJV1xjqSQeHUWemuEZ5qq60wtvPiKViygl+g7zIOUNEN2vC4ZAjOH/F7Q2X7 csEATahZ7Cn4spa9Ucjj279xKqW/0O46pydugFpTxaqrYABKpWhk0czjm+1EBmxqNdXG tHDWYv9atudkKvovV/imOor3btOsYw+J1b+vEFkYyRPXWEoz3n0Gj0DTSCLOqluQ0V3R HK+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=fb3L1l57; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id b6-20020a17090ae38600b00262f937bf93si11451219pjz.77.2023.10.10.05.01.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:01:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=fb3L1l57; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id E4DD3815A1E3; Tue, 10 Oct 2023 05:00:07 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231557AbjJJL75 (ORCPT + 20 others); Tue, 10 Oct 2023 07:59:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47416 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231638AbjJJL7v (ORCPT ); Tue, 10 Oct 2023 07:59:51 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AFF11C4; Tue, 10 Oct 2023 04:59:48 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 11956C433C9; Tue, 10 Oct 2023 11:59:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939188; bh=glrA/NSJlcH7U+M885gEF/l+fOqb3Q+HVQRs7NsZOT4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fb3L1l57Mv3evugY4hyyesMCFEfc8CbjShKC3FqdHpFYgNH8PNKC6pjOVmvXbXaeC tD0bxibYHjllUcZTUxe1B2lS7cJoW3mLm8bWoo0wVCgd8MRN0DtxdivUxqxU1X7oAL /BCrf566nWVrq0Qvi6GChA6KUm8LQNmuZ1h6z/X3kJKLguYup/jIlL1EbwKP6Pmtes 5XRrLw2iEb3S63TbMQZREAh+Y9fZj9Oy79WjAl1YFmAtScbzKVMnsex2b4T0YlFnQ+ TLNM7DJxlHshJBdy4EVhfD6Hk5JITK0SfxpQAo0aA3DglbTumpR5zKsvdk6iMcPF9d mferUxjepKADA== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 05/23] torture: Move rcutorture_sched_setaffinity() out of rcutorture Date: Tue, 10 Oct 2023 13:59:03 +0200 Message-Id: <20231010115921.988766-6-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:00:08 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369797462789020 X-GMAIL-MSGID: 1779369797462789020 From: "Paul E. McKenney" The rcutorture_sched_setaffinity() function is needed by locktorture, so move its declaration from rcu.h to torture.h and rename it to the more generic torture_sched_setaffinity() name. Please note that use of this function is still restricted to torture tests, and of those, currently only rcutorture and locktorture. Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- include/linux/torture.h | 5 +++++ kernel/rcu/rcu.h | 4 ---- kernel/rcu/rcutorture.c | 2 +- kernel/rcu/update.c | 8 ++++---- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/include/linux/torture.h b/include/linux/torture.h index 017f0f710815..c98d0c83d117 100644 --- a/include/linux/torture.h +++ b/include/linux/torture.h @@ -121,10 +121,15 @@ void _torture_stop_kthread(char *m, struct task_struct **tp); #define torture_stop_kthread(n, tp) \ _torture_stop_kthread("Stopping " #n " task", &(tp)) +/* Scheduler-related definitions. */ #ifdef CONFIG_PREEMPTION #define torture_preempt_schedule() __preempt_schedule() #else #define torture_preempt_schedule() do { } while (0) #endif +#if IS_ENABLED(CONFIG_RCU_TORTURE_TEST) || IS_MODULE(CONFIG_RCU_TORTURE_TEST) || IS_ENABLED(CONFIG_LOCK_TORTURE_TEST) || IS_MODULE(CONFIG_LOCK_TORTURE_TEST) +long torture_sched_setaffinity(pid_t pid, const struct cpumask *in_mask); +#endif + #endif /* __LINUX_TORTURE_H */ diff --git a/kernel/rcu/rcu.h b/kernel/rcu/rcu.h index 98e13be411af..567bd3d72e39 100644 --- a/kernel/rcu/rcu.h +++ b/kernel/rcu/rcu.h @@ -568,10 +568,6 @@ void do_trace_rcu_torture_read(const char *rcutorturename, static inline void rcu_gp_set_torture_wait(int duration) { } #endif -#if IS_ENABLED(CONFIG_RCU_TORTURE_TEST) || IS_MODULE(CONFIG_RCU_TORTURE_TEST) -long rcutorture_sched_setaffinity(pid_t pid, const struct cpumask *in_mask); -#endif - #ifdef CONFIG_TINY_SRCU static inline void srcutorture_get_gp_data(enum rcutorture_type test_type, diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c index ade42d6a9d9b..7e82fb887d09 100644 --- a/kernel/rcu/rcutorture.c +++ b/kernel/rcu/rcutorture.c @@ -810,7 +810,7 @@ static void synchronize_rcu_trivial(void) int cpu; for_each_online_cpu(cpu) { - rcutorture_sched_setaffinity(current->pid, cpumask_of(cpu)); + torture_sched_setaffinity(current->pid, cpumask_of(cpu)); WARN_ON_ONCE(raw_smp_processor_id() != cpu); } } diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c index 9d3c2e6ba667..c534d6806d3d 100644 --- a/kernel/rcu/update.c +++ b/kernel/rcu/update.c @@ -525,17 +525,17 @@ EXPORT_SYMBOL_GPL(do_trace_rcu_torture_read); do { } while (0) #endif -#if IS_ENABLED(CONFIG_RCU_TORTURE_TEST) || IS_MODULE(CONFIG_RCU_TORTURE_TEST) +#if IS_ENABLED(CONFIG_RCU_TORTURE_TEST) || IS_MODULE(CONFIG_RCU_TORTURE_TEST) || IS_ENABLED(CONFIG_LOCK_TORTURE_TEST) || IS_MODULE(CONFIG_LOCK_TORTURE_TEST) /* Get rcutorture access to sched_setaffinity(). */ -long rcutorture_sched_setaffinity(pid_t pid, const struct cpumask *in_mask) +long torture_sched_setaffinity(pid_t pid, const struct cpumask *in_mask) { int ret; ret = sched_setaffinity(pid, in_mask); - WARN_ONCE(ret, "%s: sched_setaffinity() returned %d\n", __func__, ret); + WARN_ONCE(ret, "%s: sched_setaffinity(%d) returned %d\n", __func__, pid, ret); return ret; } -EXPORT_SYMBOL_GPL(rcutorture_sched_setaffinity); +EXPORT_SYMBOL_GPL(torture_sched_setaffinity); #endif #ifdef CONFIG_RCU_STALL_COMMON From patchwork Tue Oct 10 11:59:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150701 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp140390vqb; Tue, 10 Oct 2023 05:01:02 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGADpN7oVkjMasyAROHsXxXDTeXysCpUfqqnra1SLul3bIdYsY+ggf1QRLLDTIfxCsMk3oQ X-Received: by 2002:a05:6a00:b8b:b0:68f:d1a7:1a3a with SMTP id g11-20020a056a000b8b00b0068fd1a71a3amr21287913pfj.8.1696939262589; Tue, 10 Oct 2023 05:01:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939262; cv=none; d=google.com; s=arc-20160816; b=P2wx+Y1TQvK3qtPbrWWvnKNLslbc1YjKKA6l6wuJDs2yWqrcU7UCAwttn+vSGYlhcV mddaNtK+Dv1a6iTdDP2r6pSdTqVpKjBEb9OJCPNxLuFoKmrVAVAAvze4YRBiDl7BSs2/ vCjHeiL8lMe9rtLtxGlqAQ4p/76y5P3GUwz/H5zySyVA8nyEQjwMJXk0o3zSLNf6f0Ju XO6WjTV4X1UIKjSfEWF7KK1pH0UMgNJjZnGK1CWXKzHVpVrfmFWa2ovZY6BMlJDmPLAP yUv9BGn2nuzLFuirussWb8NsyVVsZw8ZAu5BGgWGT03ebBFpNKRt3AAL/T2t5wRabZJw v+MQ== 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=NHb4JgleJQkmXV+GpJcbBDil+JP7Lkpx0woLKWxBx3Y=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=NloXmjl+MwV2BRUh48szki70PR1BD9B4kdjJ+VqVhVftp26TCdZMvaOQAdeWOWe+5Y ky/4uN0AQ7bfUs0eZItsTaTqWWjcr5uxAwIQqlMwEp9j+N30BRU9nEDt0oP5u8xx9S7t slhJAMZ792yYK9NaTEV1fULQpkuwH5W3I2P0yscoW+h+LGNhb03x/2AA/vVamR8ib2nu KejG+mWHFsriRRPRD04cmtAI1ihNiWg0v9tcvC3TX6Exkdfp8GI3PFR2160xkIJbJCg8 x6CxbZjeZuZFGTDKd4VCmSPK2p0GnnlOK2Y+3AxPPJ3xq7XGH7ph/hXINfJcAw1PtV6m KcnQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=lo9wKiLo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 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 lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id k15-20020a056a00134f00b0069024c6a9acsi716761pfu.314.2023.10.10.05.01.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:01:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=lo9wKiLo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id E4C5180ABB33; Tue, 10 Oct 2023 05:00:21 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231726AbjJJMAF (ORCPT + 20 others); Tue, 10 Oct 2023 08:00:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47450 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231574AbjJJL7z (ORCPT ); Tue, 10 Oct 2023 07:59:55 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AC37B99; Tue, 10 Oct 2023 04:59:51 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CBB98C433CB; Tue, 10 Oct 2023 11:59:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939191; bh=6SHl5yfLgLqz1a6BKYTG8WutUg7DP24A8wyXyXhog08=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lo9wKiLolE7HeqR3SyrggItEhXe1sKN/TT5jSQmc+wC7lONQtjTehFXue8moGRqyF O9S8vZ4vJAPqswjraWZPC4kfkl6j9SLbkxg3EdNVfQKVv8XRHKvK9J6rDCP1D5+4Fm zkAuSFAIw7B+WYm+2BH4A72RhNSAUD8YDBLZCr1OEFSq5/Nki1kMXT2sw4pXDnQTNu UdNvk1eYf1NYMnmq7HxjIjTsIab25JMihPI8M+sbLELkEJJrFkJdEjjTdNICsIG2Ab iE6g2eZz0vQsadvzvEZidjUMs54qZYib2bqLvBCSFAt0PAQRaecXTcwCvbcAJ0q3NB r9ZLtcUh74YfQ== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 06/23] locktorture: Add readers_bind and writers_bind module parameters Date: Tue, 10 Oct 2023 13:59:04 +0200 Message-Id: <20231010115921.988766-7-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:00:22 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369784308772643 X-GMAIL-MSGID: 1779369784308772643 From: "Paul E. McKenney" This commit adds readers_bind and writers_bind module parameters to locktorture in order to skew tests across socket boundaries. This skewing is intended to provide additional variable-latency stress on the primitive under test. Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- kernel/locking/locktorture.c | 64 ++++++++++++++++++++++++++++++++++-- 1 file changed, 62 insertions(+), 2 deletions(-) diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c index 270c7f80ce84..441866259278 100644 --- a/kernel/locking/locktorture.c +++ b/kernel/locking/locktorture.c @@ -56,6 +56,55 @@ module_param(torture_type, charp, 0444); MODULE_PARM_DESC(torture_type, "Type of lock to torture (spin_lock, spin_lock_irq, mutex_lock, ...)"); +static cpumask_var_t readers_bind; // Bind the readers to the specified set of CPUs. +static cpumask_var_t writers_bind; // Bind the writers to the specified set of CPUs. + +// Parse a cpumask kernel parameter. If there are more users later on, +// this might need to got to a more central location. +static int param_set_cpumask(const char *val, const struct kernel_param *kp) +{ + cpumask_var_t *cm_bind = kp->arg; + int ret; + char *s; + + if (!alloc_cpumask_var(cm_bind, GFP_KERNEL)) { + s = "Out of memory"; + ret = -ENOMEM; + goto out_err; + } + ret = cpulist_parse(val, *cm_bind); + if (!ret) + return ret; + s = "Bad CPU range"; +out_err: + pr_warn("%s: %s, all CPUs set\n", kp->name, s); + cpumask_setall(*cm_bind); + return ret; +} + +// Output a cpumask kernel parameter. +static int param_get_cpumask(char *buffer, const struct kernel_param *kp) +{ + cpumask_var_t *cm_bind = kp->arg; + + return sprintf(buffer, "%*pbl", cpumask_pr_args(*cm_bind)); +} + +static bool cpumask_nonempty(cpumask_var_t mask) +{ + return cpumask_available(mask) && !cpumask_empty(mask); +} + +static const struct kernel_param_ops lt_bind_ops = { + .set = param_set_cpumask, + .get = param_get_cpumask, +}; + +module_param_cb(readers_bind, <_bind_ops, &readers_bind, 0644); +module_param_cb(writers_bind, <_bind_ops, &writers_bind, 0644); + +long torture_sched_setaffinity(pid_t pid, const struct cpumask *in_mask); + static struct task_struct *stats_task; static struct task_struct **writer_tasks; static struct task_struct **reader_tasks; @@ -986,16 +1035,23 @@ static int lock_torture_stats(void *arg) return 0; } + static inline void lock_torture_print_module_parms(struct lock_torture_ops *cur_ops, const char *tag) { + static cpumask_t cpumask_all; + cpumask_t *rcmp = cpumask_nonempty(readers_bind) ? readers_bind : &cpumask_all; + cpumask_t *wcmp = cpumask_nonempty(writers_bind) ? writers_bind : &cpumask_all; + + cpumask_setall(&cpumask_all); pr_alert("%s" TORTURE_FLAG - "--- %s%s: nwriters_stress=%d nreaders_stress=%d nested_locks=%d stat_interval=%d verbose=%d shuffle_interval=%d stutter=%d shutdown_secs=%d onoff_interval=%d onoff_holdoff=%d\n", + "--- %s%s: nwriters_stress=%d nreaders_stress=%d nested_locks=%d stat_interval=%d verbose=%d shuffle_interval=%d stutter=%d shutdown_secs=%d onoff_interval=%d onoff_holdoff=%d readers_bind=%*pbl writers_bind=%*pbl\n", torture_type, tag, cxt.debug_lock ? " [debug]": "", cxt.nrealwriters_stress, cxt.nrealreaders_stress, nested_locks, stat_interval, verbose, shuffle_interval, - stutter, shutdown_secs, onoff_interval, onoff_holdoff); + stutter, shutdown_secs, onoff_interval, onoff_holdoff, + cpumask_pr_args(rcmp), cpumask_pr_args(wcmp)); } static void lock_torture_cleanup(void) @@ -1250,6 +1306,8 @@ static int __init lock_torture_init(void) writer_fifo ? sched_set_fifo : NULL); if (torture_init_error(firsterr)) goto unwind; + if (cpumask_nonempty(writers_bind)) + torture_sched_setaffinity(writer_tasks[i]->pid, writers_bind); create_reader: if (cxt.cur_ops->readlock == NULL || (j >= cxt.nrealreaders_stress)) @@ -1259,6 +1317,8 @@ static int __init lock_torture_init(void) reader_tasks[j]); if (torture_init_error(firsterr)) goto unwind; + if (cpumask_nonempty(readers_bind)) + torture_sched_setaffinity(reader_tasks[j]->pid, readers_bind); } if (stat_interval > 0) { firsterr = torture_create_kthread(lock_torture_stats, NULL, From patchwork Tue Oct 10 11:59:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150699 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp139917vqb; Tue, 10 Oct 2023 05:00:31 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE3ixmuGMf6SAD3P2wS2Sv07289LcTDDwk6vkL8dlHNqntZwkjYn5aZ+GdfVg+AK0hpc9hR X-Received: by 2002:a92:50f:0:b0:351:5aed:c13c with SMTP id q15-20020a92050f000000b003515aedc13cmr17789166ile.14.1696939231535; Tue, 10 Oct 2023 05:00:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939231; cv=none; d=google.com; s=arc-20160816; b=RHlJd9tatcjz+7S9Ti4xxCtkTS3XbedgCQcv/fDI/dfGt4eIctbrYu6p8MOMOibOvs Xcy8/ce4eqdYEIChIQvY6wr/adJ1B5DF2ETcwdCPh3l3FMAoC68mBBVHESpsNf6BVPqK F4n3hEujXMhwyxfLj9RAFo0AGzq5rcZCV2oJq+pOtYcb1fzp12pwU8d2GFR1WfhiNFP7 ur+VdFt1YTEGeF4WWVESCtimFg+FmepJo9ZxrwnPdy/3Pl0xRNR1j1Kk5WhVPjEXfwNp IJb64vXTCS5r20JBGErI0epddfexKQkAE9xEq16+OHpFwKJi8Yzdhjdig4K2xoxxu681 5Swg== 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=rvI/sfqvMraexVRYrZAovSju0z1mOZCGdtQxUceigp4=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=tChf2Ab/CQpMQTCSb1iKH8oX16SQ9Bt3QK0LOFWmMV8e2w9ejF3HdIPo9lnGegVO9S 8vcfyDL/ICNB2fFG5JduQZCS8RA7uDzLzS/dqCfIyBN/YhYHunV2qoqbGcSCidyiUNUy FOQ0ZW6xaN8j82BF55fuYnA9LWZMXaDnQxFhriTHTdYn3+fvCmXMhtO8Uy1DXuPP2MbG 5SSTnAV/KV8LSIYfHo3RW9A6g+E88Hq52uYRRtieymvcM50UcqfvnmmUw8chd/lBcss6 lMKKobG6Np7FlcS2NHgexplKSBAJJjQeuQcKavnuI0XA/UgsuMVoZKvOoVIs6l1SEJAB /jwg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=qWS30Iab; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 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 pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id x20-20020a631714000000b0057c9e0c7bb8si11573463pgl.312.2023.10.10.05.00.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:00:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=qWS30Iab; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 989118072F7F; Tue, 10 Oct 2023 05:00:25 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231691AbjJJMAL (ORCPT + 20 others); Tue, 10 Oct 2023 08:00:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47468 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231605AbjJJMAA (ORCPT ); Tue, 10 Oct 2023 08:00:00 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C3152106; Tue, 10 Oct 2023 04:59:54 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8EE5EC433CA; Tue, 10 Oct 2023 11:59:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939193; bh=hexvkn2hnhCEIZ6bn521V53iUzGk9vn3IPw1DjKvLpc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qWS30IabNEX9fceGBtSuMMzfGb0CHykp2v+Lh/h5xN43CD5mcsAauKz6J+mTvDRSo L6NEQnuLY27VNJJxyFmHQx9xj/wwnKVIgq0Q+iW4IZbrBaNq0Xzm2hvTECaOH7WzvO +moqMQp2kCOLKQFm0FYwqGrGkMYtjZCDzqtQxWmXaL92vNNHvubyXTawzG6Pv6jbmj T+yLU+FmKRU6u3UJJBcFx6bzRxnLujVSKZ9YQoXoUhS16mdQGD/qCoFFmw7Ugwepmk Co0Ei3Cq8EauRdkA/dRnRcDv/fEDWkkTvdxB/PePqHBIyPmwCk2yHtPn2RmOhQqvsK XKQWUFdwO5r+w== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 07/23] rcutorture: Add CONFIG_DEBUG_OBJECTS to RCU Tasks testing Date: Tue, 10 Oct 2023 13:59:05 +0200 Message-Id: <20231010115921.988766-8-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:00:25 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369751725155318 X-GMAIL-MSGID: 1779369751725155318 From: "Paul E. McKenney" This commit adds CONFIG_DEBUG_OBJECTS=y to the TRACE02 rcutorture scenario to catch any further RCU Tasks bugs involving this Kconfig option. Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- tools/testing/selftests/rcutorture/configs/rcu/TRACE02 | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TRACE02 b/tools/testing/selftests/rcutorture/configs/rcu/TRACE02 index 093ea6e8e65c..9003c56cd764 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TRACE02 +++ b/tools/testing/selftests/rcutorture/configs/rcu/TRACE02 @@ -11,3 +11,4 @@ CONFIG_FORCE_TASKS_TRACE_RCU=y #CHECK#CONFIG_TASKS_TRACE_RCU=y CONFIG_TASKS_TRACE_RCU_READ_MB=n CONFIG_RCU_EXPERT=y +CONFIG_DEBUG_OBJECTS=y From patchwork Tue Oct 10 11:59:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150700 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp140380vqb; Tue, 10 Oct 2023 05:01:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEInvS27dJyjvu+USyBWD0tQJc4LBr7o4qSSAnh6K8eruFfw+bZ70uwk6eToP9j+Kr8W8qS X-Received: by 2002:a17:902:b287:b0:1c9:bd9c:a333 with SMTP id u7-20020a170902b28700b001c9bd9ca333mr792333plr.62.1696939260868; Tue, 10 Oct 2023 05:01:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939260; cv=none; d=google.com; s=arc-20160816; b=V3FJpR6eJZYljq+lIdi2c3/YWCGYiJVN4cetUE1mJObfhqiVnICyzfd/6tPeZHFqbg xwgCkzdW4Gjem/tqaIKE90lKSxMwn6w00Nw0QQeYvsdu9sIzSJnO2cOCaJyDFnqfbx9o ewXX0ZLlb/QEChE+AQ9jwgTsDK57ehKjaK/spC/dmIf6I7wqsoYJd6mqieeBaRbudUVX ickF1dtGtdVSsaw5v9g8a0T6//HOH+B6mA8at8UEBpP5oGd4do2BmoWME4DvbcDOFr0R WBkkNV2D0SN2xoFYcqAOv70M+ua0MWCM0eYItyMeaPiW3V9BneQdGqliA9Dq+U7HG5Km I10Q== 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=eufxTqPv0aYRGI0SsBO+wsk2lWXiUeC7GZBHCWUeUNw=; fh=90z6sIZ9ECjg7ut/lDLrerV/HGE6AhCodghzoTNcnEY=; b=QceBhxT9F4GmiYYoIBkjvEv//6MvCsY9qp4ejteSqqOf2tzr52MauMU5c26InapQ5p D+DKDlOQL7W/KKcB9Z3BV9EakZ36WrM7Sb4iZXtUUxZj6dNyON4JFxmgmkZWZbv9ZUEP M3Xl4Vmk6z6VCDIGOJB+A9n+wJu6ezj0mDYmA3EhpqMswWzJisuin9wuUcoNtaYPLpzi vojdbqN0RAy5MydxtTM8pTYW32Al+W/fdN8YmAa6ST5u5j8kRUs8rINNTRxDYIuRLOD3 prwJd9I6pA77sWLVFrpdKesXMZ9fcx/P3AVAL/na/CIc5RsJUW9nSZ4pgcF5hbOfdybc 0LpA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=FXblqAxd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 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 morse.vger.email (morse.vger.email. [2620:137:e000::3:1]) by mx.google.com with ESMTPS id c2-20020a170902d48200b001c71eb782c0si12156415plg.464.2023.10.10.05.01.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:01:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) client-ip=2620:137:e000::3:1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=FXblqAxd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id F4172826EB95; Tue, 10 Oct 2023 05:00:57 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231853AbjJJMA3 (ORCPT + 20 others); Tue, 10 Oct 2023 08:00:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43756 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231660AbjJJMAF (ORCPT ); Tue, 10 Oct 2023 08:00:05 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 45FB212E; Tue, 10 Oct 2023 04:59:57 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5E2F3C433CC; Tue, 10 Oct 2023 11:59:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939196; bh=RuBZznbtX/mlc/kkPyF6YV7D+ZVAKONXJI1sntYrV0o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FXblqAxd47mobSEFAPTo0z4btOJ3qSynuzXsvzorz57lSIbHe4gJH74CFiIAFxa0G 3MSiXTKlAG532lq9+hQ1jDk7xQkuFEuBEHyRppgylAfRr370isohoFUpXmLVrpbrNk YCKP6sk5PEyRhD9eQ/FWaH61sjuAWyoQPy0UDGw4q1j4z2gEoU39b25bM55HObUODr ng9aFSTwsiR0bL1MqyEjtTBG3jZ6CvguC3spw/F4Vwwe8S4XQpyMURBEwnq+dBZEus SDCS2eSVWDf3lWBhGgrieAatNwsPe6Q+3hOvkIIaONDY7Orfe+w3XMB/JO1VDl5IVv dqLJXQpvspXJg== From: Frederic Weisbecker To: LKML Cc: "Joel Fernandes (Google)" , Boqun Feng , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , "Paul E . McKenney" , Steven Rostedt , Uladzislau Rezki , rcu , stable@vger.kernel.org, Frederic Weisbecker Subject: [PATCH 08/23] rcutorture: Fix stuttering races and other issues Date: Tue, 10 Oct 2023 13:59:06 +0200 Message-Id: <20231010115921.988766-9-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:00:58 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369782052350900 X-GMAIL-MSGID: 1779369782052350900 From: "Joel Fernandes (Google)" The stuttering code isn't functioning as expected. Ideally, it should pause the torture threads for a designated period before resuming. Yet, it fails to halt the test for the correct duration. Additionally, a race condition exists, potentially causing the stuttering code to pause for an extended period if the 'spt' variable is non-zero due to the stutter orchestration thread's inadequate CPU time. Moreover, over-stuttering can hinder RCU's progress on TREE07 kernels. This happens as the stuttering code may run within a softirq due to RCU callbacks. Consequently, ksoftirqd keeps a CPU busy for several seconds, thus obstructing RCU's progress. This situation triggers a warning message in the logs: [ 2169.481783] rcu_torture_writer: rtort_pipe_count: 9 This warning suggests that an RCU torture object, although invisible to RCU readers, couldn't make it past the pipe array and be freed -- a strong indication that there weren't enough grace periods during the stutter interval. To address these issues, this patch sets the "stutter end" time to an absolute point in the future set by the main stutter thread. This is then used for waiting in stutter_wait(). While the stutter thread still defines this absolute time, the waiters' waiting logic doesn't rely on the stutter thread receiving sufficient CPU time to halt the stuttering as the halting is now self-controlled. Cc: stable@vger.kernel.org Signed-off-by: Joel Fernandes (Google) Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- kernel/torture.c | 45 ++++++++++++--------------------------------- 1 file changed, 12 insertions(+), 33 deletions(-) diff --git a/kernel/torture.c b/kernel/torture.c index 6ba62e5993e7..fd353f98162f 100644 --- a/kernel/torture.c +++ b/kernel/torture.c @@ -720,7 +720,7 @@ static void torture_shutdown_cleanup(void) * suddenly applied to or removed from the system. */ static struct task_struct *stutter_task; -static int stutter_pause_test; +static ktime_t stutter_till_abs_time; static int stutter; static int stutter_gap; @@ -730,30 +730,16 @@ static int stutter_gap; */ bool stutter_wait(const char *title) { - unsigned int i = 0; bool ret = false; - int spt; + ktime_t till_ns; cond_resched_tasks_rcu_qs(); - spt = READ_ONCE(stutter_pause_test); - for (; spt; spt = READ_ONCE(stutter_pause_test)) { - if (!ret && !rt_task(current)) { - sched_set_normal(current, MAX_NICE); - ret = true; - } - if (spt == 1) { - torture_hrtimeout_jiffies(1, NULL); - } else if (spt == 2) { - while (READ_ONCE(stutter_pause_test)) { - if (!(i++ & 0xffff)) - torture_hrtimeout_us(10, 0, NULL); - cond_resched(); - } - } else { - torture_hrtimeout_jiffies(round_jiffies_relative(HZ), NULL); - } - torture_shutdown_absorb(title); + till_ns = READ_ONCE(stutter_till_abs_time); + if (till_ns && ktime_before(ktime_get(), till_ns)) { + torture_hrtimeout_ns(till_ns, 0, HRTIMER_MODE_ABS, NULL); + ret = true; } + torture_shutdown_absorb(title); return ret; } EXPORT_SYMBOL_GPL(stutter_wait); @@ -764,23 +750,16 @@ EXPORT_SYMBOL_GPL(stutter_wait); */ static int torture_stutter(void *arg) { - DEFINE_TORTURE_RANDOM(rand); - int wtime; + ktime_t till_ns; VERBOSE_TOROUT_STRING("torture_stutter task started"); do { if (!torture_must_stop() && stutter > 1) { - wtime = stutter; - if (stutter > 2) { - WRITE_ONCE(stutter_pause_test, 1); - wtime = stutter - 3; - torture_hrtimeout_jiffies(wtime, &rand); - wtime = 2; - } - WRITE_ONCE(stutter_pause_test, 2); - torture_hrtimeout_jiffies(wtime, NULL); + till_ns = ktime_add_ns(ktime_get(), + jiffies_to_nsecs(stutter)); + WRITE_ONCE(stutter_till_abs_time, till_ns); + torture_hrtimeout_jiffies(stutter - 1, NULL); } - WRITE_ONCE(stutter_pause_test, 0); if (!torture_must_stop()) torture_hrtimeout_jiffies(stutter_gap, NULL); torture_shutdown_absorb("torture_stutter"); From patchwork Tue Oct 10 11:59:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150708 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp140821vqb; Tue, 10 Oct 2023 05:01:34 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGhz1VbM2i7iAQXx/stLqvIBLH4/euP8QFpEi1anhZETm28ztlIK4VekfU3IyE3KF2Q5J1m X-Received: by 2002:a17:90a:9513:b0:269:46d7:f1db with SMTP id t19-20020a17090a951300b0026946d7f1dbmr18134146pjo.32.1696939294158; Tue, 10 Oct 2023 05:01:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939294; cv=none; d=google.com; s=arc-20160816; b=WbMcdwgz4n5tOt/H/vFs1EsCTIA01OJiiEi9ez7+U9PbmbqH2TzpJxVPw6N/jRZBx6 1CguEn2xHWnysynf9i7kCxKes5OLOIb+2dfOj60q2/Uy1TThyNxvdY3nobEF5mIzAOCR Gu55CjZVY7KZHevgl9hT+zYWQZpWEpVMI+TSTKtflo9KI3bMi+L3WCAOJTX8uQ/sbZzz e6yTWpOxqGOsnOAGJQ5081nq9VxofzEsm5agYdkS7XtB/B71I/SnuoGSnMsqYRA/aBLX rda1r4DmPtThT8ceKD1sYE0P8bHSu6AV6RzpHmP4Dh1rkJ9nb+85YPlWn/XqsXMyCuTX f2og== 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=lfP52Oy7Si1IHagO6hCmyTWXi8ZjZQSfrT8bVHa0XZU=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=UaovKmkZgvC6zp6me0PaNXAuYkFF+AqU6WHKCThI3rs+yfHOcH6kNmQDf1uQWEu1WZ Ek3wX5SwDtf6g76AqMeQeu+XGgF3D0KGtPm578UTdRDOkGPFUDZvbV0mG8k/z1nX3w2r yWeOtwYUElDhssIyvZ+t/Ux5gBpzoEVd3+IT+Jf3CeN+nTqivDm0Onbw090KP60tXcR6 x6139+AzYaOPn1Bikyf1K5pJqootSHoTWkN4GJ4vIeJBAGJ0F7QdEIYF6LBrF/UqrdS+ A6dIY91AquVmZfHnvo/3ayKl4pN3Pirykp7aBQSrQmGTlgMtlLHCFbiMYQWvDFARXrPM Shsg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=sK6DBDEV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id ch1-20020a17090af40100b00274ac0df61bsi13748885pjb.122.2023.10.10.05.01.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:01:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=sK6DBDEV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 8BA62815A1FE; Tue, 10 Oct 2023 05:00:52 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231548AbjJJMAg (ORCPT + 20 others); Tue, 10 Oct 2023 08:00:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43608 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231761AbjJJMAI (ORCPT ); Tue, 10 Oct 2023 08:00:08 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1FBBFFE; Tue, 10 Oct 2023 05:00:00 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 50140C433CB; Tue, 10 Oct 2023 11:59:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939199; bh=FNbwODmxQo3GGwEsJGLAfDuk3+x/AsZx/VjeIBG8CLg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sK6DBDEVVhoqBkJgXSl3qNZo8EM8D6CcrGeHQ2X9GCDvOcEs4adIYpAKzQfKBjt+r dvVxr90w/XTErnjE8nxOIYby/Niy5k9z2Fanlc7ZH0yjJ1l4Z3wV+mYcAenu8Qjl7E TVovnSyrtaplpTAIWhVCRx9BwiiRu97x973I2lbgsVUsl99XNH73hrpMRYYrEkgGZY WgBVeP58vtD6Xy3DRlNBWNKS8UnAcGdwAU4JkB//mVWxbxKufsN/rQlRBoLj09xpd9 VKsGKRHBRfBDLOXI/x6zY1/4MLSiC4bSpPrlihFzU1LNG+1uWgAX/Jpi07pck7dEqT UfAdLRI0aFRIA== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 09/23] locktorture: Alphabetize torture_param() entries Date: Tue, 10 Oct 2023 13:59:07 +0200 Message-Id: <20231010115921.988766-10-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:00:52 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369817182702822 X-GMAIL-MSGID: 1779369817182702822 From: "Paul E. McKenney" There are getting to be too many module parameters for a random list to be comfortable, so this commit alphabetizes the list. Strictly code motion. Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- kernel/locking/locktorture.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c index 441866259278..57ee16cf879d 100644 --- a/kernel/locking/locktorture.c +++ b/kernel/locking/locktorture.c @@ -33,21 +33,21 @@ MODULE_LICENSE("GPL"); MODULE_AUTHOR("Paul E. McKenney "); -torture_param(int, nwriters_stress, -1, "Number of write-locking stress-test threads"); -torture_param(int, nreaders_stress, -1, "Number of read-locking stress-test threads"); torture_param(int, long_hold, 100, "Do occasional long hold of lock (ms), 0=disable"); +torture_param(int, nested_locks, 0, "Number of nested locks (max = 8)"); +torture_param(int, nreaders_stress, -1, "Number of read-locking stress-test threads"); +torture_param(int, nwriters_stress, -1, "Number of write-locking stress-test threads"); torture_param(int, onoff_holdoff, 0, "Time after boot before CPU hotplugs (s)"); torture_param(int, onoff_interval, 0, "Time between CPU hotplugs (s), 0=disable"); +torture_param(int, rt_boost, 2, + "Do periodic rt-boost. 0=Disable, 1=Only for rt_mutex, 2=For all lock types."); +torture_param(int, rt_boost_factor, 50, "A factor determining how often rt-boost happens."); torture_param(int, shuffle_interval, 3, "Number of jiffies between shuffles, 0=disable"); torture_param(int, shutdown_secs, 0, "Shutdown time (j), <= zero to disable."); torture_param(int, stat_interval, 60, "Number of seconds between stats printk()s"); torture_param(int, stutter, 5, "Number of jiffies to run/halt test, 0=disable"); -torture_param(int, rt_boost, 2, - "Do periodic rt-boost. 0=Disable, 1=Only for rt_mutex, 2=For all lock types."); -torture_param(int, rt_boost_factor, 50, "A factor determining how often rt-boost happens."); torture_param(int, writer_fifo, 0, "Run writers at sched_set_fifo() priority"); torture_param(int, verbose, 1, "Enable verbose debugging printk()s"); -torture_param(int, nested_locks, 0, "Number of nested locks (max = 8)"); /* Going much higher trips "BUG: MAX_LOCKDEP_CHAIN_HLOCKS too low!" errors */ #define MAX_NESTED_LOCKS 8 From patchwork Tue Oct 10 11:59:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150702 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp140428vqb; Tue, 10 Oct 2023 05:01:05 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFcFxlFGa4tF3tFSpEduR+ywckPznKpWO81wiFUEV9/gn64t5AHnzfuNKxb+zk0IJQQwZ2m X-Received: by 2002:a17:90b:3b43:b0:26b:374f:97c2 with SMTP id ot3-20020a17090b3b4300b0026b374f97c2mr24298736pjb.6.1696939265431; Tue, 10 Oct 2023 05:01:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939265; cv=none; d=google.com; s=arc-20160816; b=NS+co/tTLtknQkv5Rw/lz8HmX6EIoJyk7dfJZumGeHlCPR9+usa5l2+VZeJ1q/q4ht TzMaMYd8oj1j4wEKxlDo8OapE28UCNem+saeud0IFE1RjXLbsVCbUYkLobiwGyqTpEHw M2Nwto10XdTsbvuRsHsjWw9W6IWpq6qNbnyUaFtRhv1J272fhWYg4wROoeUPUb7Juqr2 kAF3lPeIWugoxi6objqc0KgyGmhRGUoeObIYasNmSepsBvTCPHcacxbRHFOmbVxMX6uJ jrfKG1mGYS20Xag048MwiLCi/5jqxDwvsy1tAKAeYjUxeSeI4I+kQK70fEsU+LzDvEMp lqWA== 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=TqOCSGL5shGjevVJ6CujF740KOM6vHgj4w5Df4h1TAk=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=FvnJlsjGCx4kvW5a/HrTrJgl9ksqugVmuFmeHBwdQxQbnLiNsJRQczbph+vBKNCpaE 7JFFSPZEad/lDzD2DJctWwjd+nIwwcPSW1z69ZMh/ir7tPZLyStQhZky+FJ8uh/Uo2GT D5Xa0ocwFQyyOmwQFaVjvBNoFxo366o3oXZYi56rSnAazZCfduF2CSZHUBp487kuiDih 2yb5OXciWA/ZX8Il8XWvpmYUZ5W8EVPiW9mYArLyb5irj5B6GApW1pOCzoOqnOoWazcd BscsFAKJ0wLvAyJ+UmBhZBBlXQByGY4hSHUXzHiUEUXiFn3o1MrtJvX1V1yMWMa+agSi UOWA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=mCRcrQA3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 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 pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id fh24-20020a17090b035800b00274ac850fbbsi6127904pjb.132.2023.10.10.05.01.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:01:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=mCRcrQA3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id CFE0A801CF96; Tue, 10 Oct 2023 05:00:57 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231683AbjJJMAl (ORCPT + 20 others); Tue, 10 Oct 2023 08:00:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41292 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231781AbjJJMAK (ORCPT ); Tue, 10 Oct 2023 08:00:10 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E7917196; Tue, 10 Oct 2023 05:00:02 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 14DBDC43391; Tue, 10 Oct 2023 11:59:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939202; bh=qaLq/eyHDpze8WBnz65vaRdkOfmOKpB2MmuvHIFiCik=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mCRcrQA39pefD1wQ9xLbtVmaVJUEJy45H047G1h/1RMkw+yLxG4KzZQeRFgCHnbEd ky3IoQ1F7i7RImJHGK7BV884RMAcbHPgZx6qMaljCRpoPTVFg/8AEqEVcA5Ev+rmpd y5NT1d/CNDVWqgi/OCxzEvS78qa5CNK3DvcJW4Ckhon5Wg9UG9vxxkGyperQTypHYL tY/6MG0W4ZOp7dHVwEGIwO6MhLvHKa4ZdHNRgqw0NCYl2I2SHBImD4klxXUAytQBGO oRGuvzkmfle7wDK5sbwypvwPO5KZEZifV0FVifbrIONdO8fO4+nIfGsbWocdtsqnjl G/JaOUhMzekhw== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 10/23] locktorture: Consolidate "if" statements in lock_torture_writer() Date: Tue, 10 Oct 2023 13:59:08 +0200 Message-Id: <20231010115921.988766-11-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:00:57 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369786990064324 X-GMAIL-MSGID: 1779369786990064324 From: "Paul E. McKenney" There is a pair of adjacent "if" statements with identical conditions in the lock_torture_writer() function. This commit therefore combines them. Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- kernel/locking/locktorture.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c index 57ee16cf879d..c8c322e69a90 100644 --- a/kernel/locking/locktorture.c +++ b/kernel/locking/locktorture.c @@ -889,11 +889,10 @@ static int lock_torture_writer(void *arg) lock_is_write_held = true; if (WARN_ON_ONCE(atomic_read(&lock_is_read_held))) lwsp->n_lock_fail++; /* rare, but... */ - lwsp->n_lock_acquired++; - } - if (!skip_main_lock) { + cxt.cur_ops->write_delay(&rand); + lock_is_write_held = false; WRITE_ONCE(last_lock_release, jiffies); cxt.cur_ops->writeunlock(tid); From patchwork Tue Oct 10 11:59:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150703 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp140441vqb; Tue, 10 Oct 2023 05:01:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEThHdoPbvWseWtjTrgH/lqQ89w0z2daQQgZ3BvIot35Te+HQ6jx3ReZQIYfOpYouK80ebp X-Received: by 2002:a05:6a20:394b:b0:171:a8bc:74b2 with SMTP id r11-20020a056a20394b00b00171a8bc74b2mr1970892pzg.7.1696939267208; Tue, 10 Oct 2023 05:01:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939267; cv=none; d=google.com; s=arc-20160816; b=RY77GN90dNAxXDrXg7A1IChWR4Z9/mspr5cz1YQn4yUN2/wiPUcVRQGWCmzL/zE8id jh2sxH+WfHxtQP8wCUEAn+CjpX9BRgDFxLHT/HLrQAKtroD1c2r5LDSgZ3axaOadLYPt /i3FqNAk60uiK7MTucr3PhMVBXpQy6MYvQJKpzNKX71TY1frUTQJMgUwpgVCxlWUE61i E1OAfNjv5MO63KPyqKM3f6G5WGod2hvI/WrONfalSSx9IpxYr4xBRGuQdI0SOwfGScfB V/VahDk9nppX5BjIN3mLVvpvI3sJcaHtZIICsA1Vx5uQHixKYfKMCDw41jAeSyJi2dsN OTcQ== 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=L2iE0z8BbbmMkvAGCfakyBsmuTg01ifyb76TqSb3Vjk=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=eo9me3wunNAq485/93OIxlU+/rn42eE6zGb7xbK1hAdxsjbeqWKEU31ztF4xbtqbWY jWObcighHyEq71T6s4sgK9j4edYtWC7HBUPytPa55XaXL1BYDWVksE8MidHMU3J3dSUP OazZzBJgX/v8HNQnDbdDyUCz3Bx8oYj0goILi2+PpS272xaWLcytQcWvfyC+E6OAts4r eGxryk6Xn+q+rXZ1ICGfacWTScaA1lHiwRwAxRXFgF+aabFheceNsF1tHqsVHue55ktK 2hbF52K41Tdyeg9buyfW10HC1Q0zsUUEU2OWs3n2Y2vCfixARbjIxR4g+Xps3avO/rcz Oh9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=F3s41Ps2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id f22-20020a056a0022d600b00690d7da742fsi9966567pfj.364.2023.10.10.05.01.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:01:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=F3s41Ps2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id E9DE380244BD; Tue, 10 Oct 2023 05:01:03 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231713AbjJJMAo (ORCPT + 20 others); Tue, 10 Oct 2023 08:00:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43756 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231793AbjJJMA0 (ORCPT ); Tue, 10 Oct 2023 08:00:26 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 09B99DA; Tue, 10 Oct 2023 05:00:05 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D0773C433C7; Tue, 10 Oct 2023 12:00:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939205; bh=z/6W7Sq91lXYiT+T8Ou3AD0oMBmwnQ8VicZ7CbcAyQ8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=F3s41Ps24rSzylBKXRoRs6u5kl4sd3f8NZJIl5j5mVH5Gmqz50IGYmpv12lWlAIan fjA2A+cQQ6APRxtB6LiEJW6a7oOw5epFCfXB8lLYSSzp2JYhhQZt2QroGVjXkcMbQm febf1QkZU8CY1lwxKMIvLx3KlaifAIadxhaxlYF455QGYHHJ0j8YwFkpphSz6skX+B ffCQxP2N8CVjqzEPKd7wFcb2nKudj5JoE2gI4dw6ZbXarzLNYcUHwaLX/pDAadc9yC akasjg8jn+AAfK3oV/9fomzq+4OJmVdJ9fLtSLJXQbKULPVUg3q1fZTt4v/zh71uto rr2vO3+TPBcTg== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 11/23] locktorture: Add acq_writer_lim to complain about long acquistion times Date: Tue, 10 Oct 2023 13:59:09 +0200 Message-Id: <20231010115921.988766-12-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:01:04 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369789028612752 X-GMAIL-MSGID: 1779369789028612752 From: "Paul E. McKenney" This commit adds a locktorture.acq_writer_lim module parameter that specifies the maximum number of jiffies that is expected to be consumed by write-side lock acquisition. If this limit is exceeded, a WARN_ONCE() causes a splat. Note that this limit applies to the main lock acquisition only, not to any nested acquisitions. Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- kernel/locking/locktorture.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c index c8c322e69a90..296815ef67ae 100644 --- a/kernel/locking/locktorture.c +++ b/kernel/locking/locktorture.c @@ -33,6 +33,7 @@ MODULE_LICENSE("GPL"); MODULE_AUTHOR("Paul E. McKenney "); +torture_param(int, acq_writer_lim, 0, "Write_acquisition time limit (jiffies)."); torture_param(int, long_hold, 100, "Do occasional long hold of lock (ms), 0=disable"); torture_param(int, nested_locks, 0, "Number of nested locks (max = 8)"); torture_param(int, nreaders_stress, -1, "Number of read-locking stress-test threads"); @@ -852,11 +853,13 @@ static struct lock_torture_ops percpu_rwsem_lock_ops = { */ static int lock_torture_writer(void *arg) { - struct lock_stress_stats *lwsp = arg; - int tid = lwsp - cxt.lwsa; - DEFINE_TORTURE_RANDOM(rand); + unsigned long j; + unsigned long j1; u32 lockset_mask; + struct lock_stress_stats *lwsp = arg; + DEFINE_TORTURE_RANDOM(rand); bool skip_main_lock; + int tid = lwsp - cxt.lwsa; VERBOSE_TOROUT_STRING("lock_torture_writer task started"); if (!rt_task(current)) @@ -883,12 +886,20 @@ static int lock_torture_writer(void *arg) cxt.cur_ops->nested_lock(tid, lockset_mask); if (!skip_main_lock) { + if (acq_writer_lim > 0) + j = jiffies; cxt.cur_ops->writelock(tid); if (WARN_ON_ONCE(lock_is_write_held)) lwsp->n_lock_fail++; lock_is_write_held = true; if (WARN_ON_ONCE(atomic_read(&lock_is_read_held))) lwsp->n_lock_fail++; /* rare, but... */ + if (acq_writer_lim > 0) { + j1 = jiffies; + WARN_ONCE(time_after(j1, j + acq_writer_lim), + "%s: Lock acquisition took %lu jiffies.\n", + __func__, j1 - j); + } lwsp->n_lock_acquired++; cxt.cur_ops->write_delay(&rand); From patchwork Tue Oct 10 11:59:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150706 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp140632vqb; Tue, 10 Oct 2023 05:01:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEveqFQPKtwbofb4acJei8WCB8jRggluJ+OBPpx510tVF2Bts4mzP562BUbBksZed+du9Vc X-Received: by 2002:a05:6a20:5482:b0:16b:afc2:3b68 with SMTP id i2-20020a056a20548200b0016bafc23b68mr14974662pzk.25.1696939279405; Tue, 10 Oct 2023 05:01:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939279; cv=none; d=google.com; s=arc-20160816; b=ruPMJ6GIH8PxeMWZM2n+pwx0Sj8tHhPWUm1diZP7iEI9Gru/VerZj77zeR94dmUTEU /Gq094T+TBDJNgY8CdHlQ7XooanQ6vQqomHxAvYyjYttcYIyYQmvfu63bJAKK2q/Q7MC +6Hqmlw5lKOMavFg2RnlkCoS8LJzBcIZtm78TE/yBLLp+idwLxct89njVN+XuRpt+kBf UQZvMtCKyehVog1KDSxzpVtbegr/x2MCUwVNJOJ7wJGNVTvwJqwtmun5kblgaTP5F06W l9/qaRgdgRgwsIMwGcddlo/J4a9vxUkRyjrahuWHIiefA8YhE0O4IhMcRYhgym/ZtOIE 0tpw== 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=VswOKhGS5Xjk6AJ/BDbiTSDhZ4+tXsP6kauYJBBRePE=; fh=QyKVx5sQ6a0Rye+jmuSl6ocZCOg2PmQ9bDVx4c3R8jE=; b=cne1ds4x94TBNQi9WTiwsEbkA+zUn8RX87KoHxFmCxhXJtxsmsJ01HDdxeL6Olv6Qy Ot0+XAo1tdZ6nn1OgQxmvWvVeRCOs64rKPn6I6VInMrqZK2MXg9O4VKQifQh9K0irQIK OXXqveRAq4uRRmltoHMOyEqAmGR2A8xp1uc90GDzG6RTe6PqhGni+YKiD8k2IizjOytF d2evsmH+XjAiYIdipW8Ci5aUdEUWbvxM09OuoAxuYOBTiS3Tn7n1e5U6gaYAD8j/xWDY vNcHX9MBrNHJTL+F7g0qEkS667tS1pQvL+hCdFZohewj5SflLr/1bApurzPIGOzYUCBL DjHw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nGu1acjQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 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 morse.vger.email (morse.vger.email. [2620:137:e000::3:1]) by mx.google.com with ESMTPS id bx10-20020a056a02050a00b00565f611a1f8si13138620pgb.263.2023.10.10.05.01.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:01:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) client-ip=2620:137:e000::3:1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nGu1acjQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id EEB1F826EC26; Tue, 10 Oct 2023 05:01:16 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231724AbjJJMAs (ORCPT + 20 others); Tue, 10 Oct 2023 08:00:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43542 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231824AbjJJMA2 (ORCPT ); Tue, 10 Oct 2023 08:00:28 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5309C109; Tue, 10 Oct 2023 05:00:08 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 98984C433CB; Tue, 10 Oct 2023 12:00:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939207; bh=6HRXnuZZAf08Uj6BoCK0KS/GQ+u3twUB+rz7vaUHqM4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nGu1acjQr68zRAdzvRvlJ0zXkBTnIfdZhKPJ64JvOkf7eY1qKpHrPcZ/Q4CTd3nCS ciPo7Ivo3sDwTvdmQbygXimMeJY2HpZj/YXC6tXyscOt3YO9CuJBTsURFIMQnvsyYk BSlQ6ecnu08bkaZD0+3UNdL4+kb3ZUvNrbKgQRuKftvMGsko6jL8jZmxgesc9u1m55 HYJ8Fx3sxhRvYXjziLPp4EWsLRVd7DkIuNMMcf5JI75yLvdZrT4Yk2u3zK3fNCT2dG 4T/jYXj0BeUopT92Xm/tQDvS75lTxALgio8xWk15+RmM+yljAd0poVFB4YJ5p95OO3 CKNLkn/NizYpA== From: Frederic Weisbecker To: LKML Cc: "Joel Fernandes (Google)" , Boqun Feng , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , "Paul E . McKenney" , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 12/23] rcutorture: Copy out ftrace into its own console file Date: Tue, 10 Oct 2023 13:59:10 +0200 Message-Id: <20231010115921.988766-13-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:01:17 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369802250736830 X-GMAIL-MSGID: 1779369802250736830 From: "Joel Fernandes (Google)" When debugging, it can be difficult to quickly find the ftrace dump within the console log, which in turn makes it difficult to process it independent of the rest of the console output. This commit therefore copies the contents of the buffers into its own file to make it easier to locate and process the ftrace dump. The original ftrace dump is still available in the console log in cases because it can be more convenient to process it in situ, for example, for scripts that process console output as well as ftrace-dump data. Also handle the case of multiple ftrace dumps potentially showing up in the log. Example for a file like [1], it will extract as [2]. [1]: foo foo Dumping ftrace buffer: --------------------------------- blah blah --------------------------------- more bar baz Dumping ftrace buffer: --------------------------------- blah2 blah2 --------------------------------- bleh bleh [2]: Ftrace dump 1: blah blah Ftrace dump 2: blah2 blah2 [ paulmck: Fixed awk indentation, input up front. ] Signed-off-by: Joel Fernandes (Google) Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- .../selftests/rcutorture/bin/functions.sh | 29 +++++++++++++++++++ .../selftests/rcutorture/bin/parse-console.sh | 7 +++++ 2 files changed, 36 insertions(+) mode change 100644 => 100755 tools/testing/selftests/rcutorture/bin/functions.sh diff --git a/tools/testing/selftests/rcutorture/bin/functions.sh b/tools/testing/selftests/rcutorture/bin/functions.sh old mode 100644 new mode 100755 index b8e2ea23cb3f..6e415ddb206f --- a/tools/testing/selftests/rcutorture/bin/functions.sh +++ b/tools/testing/selftests/rcutorture/bin/functions.sh @@ -331,3 +331,32 @@ specify_qemu_net () { echo $1 -net none fi } + +# Extract the ftrace output from the console log output +# The ftrace output in the original logs look like: +# Dumping ftrace buffer: +# --------------------------------- +# [...] +# --------------------------------- +extract_ftrace_from_console() { + awk < "$1" ' + + /Dumping ftrace buffer:/ { + buffer_count++ + print "Ftrace dump " buffer_count ":" + capture = 1 + next + } + + /---------------------------------/ { + if(capture == 1) { + capture = 2 + next + } else if(capture == 2) { + capture = 0 + print "" + } + } + + capture == 2' +} diff --git a/tools/testing/selftests/rcutorture/bin/parse-console.sh b/tools/testing/selftests/rcutorture/bin/parse-console.sh index 9ab0f6bc172c..e3d2f69ec0fb 100755 --- a/tools/testing/selftests/rcutorture/bin/parse-console.sh +++ b/tools/testing/selftests/rcutorture/bin/parse-console.sh @@ -182,3 +182,10 @@ if ! test -s $file.diags then rm -f $file.diags fi + +# Call extract_ftrace_from_console function, if the output is empty, +# don't create $file.ftrace. Otherwise output the results to $file.ftrace +extract_ftrace_from_console $file > $file.ftrace +if [ ! -s $file.ftrace ]; then + rm -f $file.ftrace +fi From patchwork Tue Oct 10 11:59:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150711 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp141020vqb; Tue, 10 Oct 2023 05:01:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFK6Eiqu319P+42sBUaG18RcR3BbDp+chsD+Y6GrK4XYp1tk3yREtO4utKMbFY4/NjPup+t X-Received: by 2002:a05:6e02:188f:b0:351:1647:5fa0 with SMTP id o15-20020a056e02188f00b0035116475fa0mr21668744ilu.18.1696939307102; Tue, 10 Oct 2023 05:01:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939307; cv=none; d=google.com; s=arc-20160816; b=SRAk/U20NuYN0DxVWEE4234J/SxlBThcHpa3xTcAppp1meYnWPTNUs4f8MyrjCOBqp i7YdeUPfwO6VJEx1iw3VmlrBtNb6VXETbRvjKnCxLQeDvbHb/h2LBFxIcW6SBQnKyacp nisMHgkl7BAFpPmIqh62f7FuvDrTkFRne0zQb1jO9T5HotK6w4AKjpWPa0KoT8cxYK/X UF0PhPDG2YAvTjmpvhXkVoKWUCpN5Kz9xdVGPakosDIzPF4bWe+tSQo1R4gZU6woJFxb 4CU8KOq+m2cvlp6bkExSl4OvHvR/0fva8oyIcNZWuZpQfUISTmYNyoR+7f04GizSpQg0 MuSA== 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=OUEHZ6l9qPeuHgI0y3PxhiCtw/ldxMrJvqLWuTsAp1I=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=UIxz12NIg5kGTWDqfo3x0iKCaIngk8RTWy4jg9HjT0m8NR+Gx4xhN9dvDJE3zUslue lNZQiInYkg4f3W2Ksw9XCeHf065eSEBfhbtMTTV/I1oZqwKSN52JEriZsaYaoA3RualK baQMSVXYaG4LwOPoh7LeC2BCmeddZxQ5FQTDMHZ88vl1Ascm9jeABcuBHELvmCmWnDQm TXhCe9uQnNWN21l2C5m3GVMsNnC0MXA6UfJUAt5hqQgiwD7d5VTaOT8qYHnjPtQvHYWG jCm7wsM9cDV6QrDkJSkWj/uPa5dVhTJUC3pMsav1wKxdGDzF51Vy0Q6eJsnrdf74y59a SklQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=EOjjiJxH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id s17-20020a639251000000b005898ed1915bsi9178720pgn.460.2023.10.10.05.01.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:01:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=EOjjiJxH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 520A880941DA; Tue, 10 Oct 2023 05:01:18 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231737AbjJJMBC (ORCPT + 20 others); Tue, 10 Oct 2023 08:01:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41262 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231837AbjJJMA3 (ORCPT ); Tue, 10 Oct 2023 08:00:29 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 151071B4; Tue, 10 Oct 2023 05:00:10 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5E30CC433CC; Tue, 10 Oct 2023 12:00:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939210; bh=/Z5ZKEkqeX88LkvGvhKdpELWee2yXXovMScGD9Eqo9c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EOjjiJxH+QRs1qhHXeGnAKLSQq4UPKjSxBp/Nea681WLA2DKgUJbjwI5i1okReCW2 ulaK5X5oxxUjNNlqbQOkRNLr5wyIsiC4mt8SCJO40UGroE7gLTNxb+m0vwe1mbQM7G TuQLD8CKudBSRUW+6zQ7yWnUrKLEcrH2YdaowKBxQT00AIETb8MYwbKwHf3mz2LK69 Tp8LImOYc8+EgIaFyo7LUOzGlLzsj0aAvFhFBrwiQcHH45hAyL/zRzytmzsL/LBm9l ar9iwX3bTxCKY+4nD58Aae/YX0EO7+AisoljosRmQjowt//AyOccZLz8eux+EoNL0w 12mpHqN5KvbmA== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 13/23] torture: Print out torture module parameters Date: Tue, 10 Oct 2023 13:59:11 +0200 Message-Id: <20231010115921.988766-14-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:01:18 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369831245773831 X-GMAIL-MSGID: 1779369831245773831 From: "Paul E. McKenney" The kernel/torture.c module now has several module parameters, so this commit causes them to be printed out. Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- kernel/torture.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kernel/torture.c b/kernel/torture.c index fd353f98162f..c72ab2d251f4 100644 --- a/kernel/torture.c +++ b/kernel/torture.c @@ -791,6 +791,13 @@ static void torture_stutter_cleanup(void) stutter_task = NULL; } +static void +torture_print_module_parms(void) +{ + pr_alert("torture module --- %s: disable_onoff_at_boot=%d ftrace_dump_at_shutdown=%d verbose_sleep_frequency=%d verbose_sleep_duration=%d random_shuffle=%d\n", + torture_type, disable_onoff_at_boot, ftrace_dump_at_shutdown, verbose_sleep_frequency, verbose_sleep_duration, random_shuffle); +} + /* * Initialize torture module. Please note that this is -not- invoked via * the usual module_init() mechanism, but rather by an explicit call from @@ -813,6 +820,7 @@ bool torture_init_begin(char *ttype, int v) torture_type = ttype; verbose = v; fullstop = FULLSTOP_DONTSTOP; + torture_print_module_parms(); return true; } EXPORT_SYMBOL_GPL(torture_init_begin); From patchwork Tue Oct 10 11:59:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150705 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp140589vqb; Tue, 10 Oct 2023 05:01:16 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHqLVMv1hAiUYsbekxUxXAWl750IWM3EFw/3wSjtXwHKHc5M3uOhBz+Z6frwFfhoShIEFuv X-Received: by 2002:a05:6358:60cd:b0:134:d78f:67bc with SMTP id i13-20020a05635860cd00b00134d78f67bcmr18630423rwi.14.1696939276268; Tue, 10 Oct 2023 05:01:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939276; cv=none; d=google.com; s=arc-20160816; b=ZvX4mAULyx17e1Q2CSbQpzC2/KMLjbaM6BYT4bTnOKwG30D4+04+/hx9izGtcv2iqv WUNb6ixqlRWis2hjN6mG5+YwUNn5l4dAXeeKqs8ZDEoaugif9GQS6A5ykoOyEPuql9sp Kb8PCFQy0KRaU0HJ7Z389Xxju6aVbuHuASMddU7wrZcj5U0zKYJkP3P8IWcA0poQiB4Q 9otgARzJSPLluwMmvPxS08vXXwLkwBaU5ioxiiPcW19/AO8DjBiOxF3jGv5SxnuQ13ak 6tVgOGqPB7KW99tLRygaQCYinpq4zq7Bxyu+Z/hjsI8EH+mLeyC4zKR3JuxA7JjCzSux fYBw== 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=8VMTo2g6wD5ubqje9++adsbxw7RYs3QKwBOLpv/w3Sk=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=RPIXMGxfjdULPQYI0J1pkov3A41p/6jiMQqhKHwmXkNSCsw6zkb07GuouYJtvGoI0J rQ69WcHlG86GDIGtVpgCJffq0EeOb4jm65fgmdaQSkQQeVic8PQ7buYoDrgvvNhczVQQ J2AbgBAWjMzlWo0eBYwccRkd0v0hnkfq4mPC2QnhA2y0hF52tLa/04KHy0lqruGPm75G E9PVQ0MIrj8Q8rAfflPRflZVyt2sxyldY8TZOqueYsQr6gFWX4pxAPkDT/W04wsvD9Bl eEfc+aXWBllf6X8+bVxENdNytR/YuNReBen+XwUohEgH5XXZTA6U3uEIr7tiwSInjXRw Ehjg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=aH1aS+lU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 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 morse.vger.email (morse.vger.email. [2620:137:e000::3:1]) by mx.google.com with ESMTPS id l184-20020a6388c1000000b00563f8e3fca8si11984439pgd.49.2023.10.10.05.01.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:01:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) client-ip=2620:137:e000::3:1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=aH1aS+lU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id E2DE8826EC3E; Tue, 10 Oct 2023 05:01:13 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231876AbjJJMBF (ORCPT + 20 others); Tue, 10 Oct 2023 08:01:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43464 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231871AbjJJMAc (ORCPT ); Tue, 10 Oct 2023 08:00:32 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9602AD45; Tue, 10 Oct 2023 05:00:13 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 23362C433CA; Tue, 10 Oct 2023 12:00:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939213; bh=f9XO/66z9R1qy9OZli7EUvNrpwkMvHKKVd0X5/hb1w0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aH1aS+lUngueVvu0h3k6ebDxOAZ6w6I9RXxvQbJfg/1T2pjDTFfQ7gnM7nW1fJHUk IEnJxWX9FRStXiaZgPBgWc62HKVUZ7EuRs5X+6bkvyGSyi62WSx42F2eqCr1wA2324 se5YC3b8WACS5VI5OnwQGn82Y85UWpQLIGlGw5GFh6PzXJC3V9AXriybpXIuSKoe+/ kyfbtEfCDS5QajVCANnqDi0G8dbZHD6eGc7FplKITvhdLVFrpuJuBHdm/ptd6PY5yU Y0sf+deQjzo5HppbUN5HemqNit5InpplUyLflSFQI1P+baFCl3TN+mGjfE6K2Nz+WP QvhNZq9pLnsxw== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 14/23] torture: Make torture.sh refscale testing qualify verbose_batched Date: Tue, 10 Oct 2023 13:59:12 +0200 Message-Id: <20231010115921.988766-15-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:01:13 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369798457416135 X-GMAIL-MSGID: 1779369798457416135 From: "Paul E. McKenney" In torture.sh, the testing of refscale incorrectly used verbose_batched as a kernel boot parameter, which causes this parameter to be passed to the init process. This commit therefore prefixes it with refscale, so that refscale.verbose_batched is passed to the kernel. Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- tools/testing/selftests/rcutorture/bin/torture.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/rcutorture/bin/torture.sh b/tools/testing/selftests/rcutorture/bin/torture.sh index 12b50a4a881a..d5a0d8a33c27 100755 --- a/tools/testing/selftests/rcutorture/bin/torture.sh +++ b/tools/testing/selftests/rcutorture/bin/torture.sh @@ -472,7 +472,7 @@ do if test -n "$firsttime" then torture_bootargs="refscale.scale_type="$prim" refscale.nreaders=$HALF_ALLOTED_CPUS refscale.loops=10000 refscale.holdoff=20 torture.disable_onoff_at_boot" - torture_set "refscale-$prim" tools/testing/selftests/rcutorture/bin/kvm.sh --torture refscale --allcpus --duration 5 --kconfig "CONFIG_TASKS_TRACE_RCU=y CONFIG_NR_CPUS=$HALF_ALLOTED_CPUS" --bootargs "verbose_batched=$VERBOSE_BATCH_CPUS torture.verbose_sleep_frequency=8 torture.verbose_sleep_duration=$VERBOSE_BATCH_CPUS" --trust-make + torture_set "refscale-$prim" tools/testing/selftests/rcutorture/bin/kvm.sh --torture refscale --allcpus --duration 5 --kconfig "CONFIG_TASKS_TRACE_RCU=y CONFIG_NR_CPUS=$HALF_ALLOTED_CPUS" --bootargs "refscale.verbose_batched=$VERBOSE_BATCH_CPUS torture.verbose_sleep_frequency=8 torture.verbose_sleep_duration=$VERBOSE_BATCH_CPUS" --trust-make mv $T/last-resdir-nodebug $T/first-resdir-nodebug || : if test -f "$T/last-resdir-kasan" then From patchwork Tue Oct 10 11:59:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150707 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp140781vqb; Tue, 10 Oct 2023 05:01:30 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG9Q3l/6VH1dE8EabE6YgzscN5c423zlrN0o+nm+swXWoY6CDIfm02s6tSdSr/v7Wd0QKMd X-Received: by 2002:a05:6a00:39a0:b0:68f:c4a2:fb1f with SMTP id fi32-20020a056a0039a000b0068fc4a2fb1fmr20904976pfb.8.1696939290587; Tue, 10 Oct 2023 05:01:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939290; cv=none; d=google.com; s=arc-20160816; b=yw2/+4T3aArPKlaYvqAGOTiWPO0vIV/6pD/bhNujn1I8ZttcTsW00cBZd22OixtTj6 7NwbRtGE2a2j5bQ9ZIH5DyDqGsgsp2HUwtkU9H1coiFxHKrBsNzn89UivJQV61A3VB9M 86TMJSdi2XY4xCUW0oQqPO9k1tajJzaZS4Z6FUcjPi3hmFp4Ok2zIqHEFTzyu/fRN69/ XHXLgK5GYdRJ+WIgvRBnxUVl3V/JqWUAafpa5R1G2VyEB6Zh3rWHrWpN97SAEqfjZSW1 L9tnI5ZVgh6yh7n+D8horZlRx/5TViGNfKq5xAk/xx/mF0dlm8sDGCZeRZBxd7ZR3v5K Jl+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=bfISxq6m2r/QSQ13D1jSXU1Rip+bD1UGh20WcXw5ztE=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=TQ5n0Aj3omExtUS+jzyFDaAOYJMo8H+6ZiYs+xcwA3LHINnj0ZaHcjFP3Gzh7AgNuS u18aWOjZCN3Yi09RGKB7S3jTq9Q54gDPSyxAGBFzhC9XaRbEGj9RH6qYfPnUwuaNeOW3 RVyTFcuE6slrxwnBNjqC6EaaeSRLq9B7bcOeDLTvlJUZBPAKiHO7DmC/nBYWBekQuDJD wVo7CD+fLXJsY/t2irZD0LnL4ckqAPkWdYF2Ke6AHO1yRumI7kMUdGl0rQffxpf73XGW BT075Pp+1lRujG2c8jLG2sgUecn+yib9Ap30JoCidtNTe9y0LciQQF/45n+Aye6E3Axm bD0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=dzPVo0+0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id f20-20020a63f114000000b0056c55eb251csi11908496pgi.123.2023.10.10.05.01.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:01:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=dzPVo0+0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 70D3480244BD; Tue, 10 Oct 2023 05:01:25 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231719AbjJJMBR (ORCPT + 20 others); Tue, 10 Oct 2023 08:01:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43276 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231658AbjJJMAi (ORCPT ); Tue, 10 Oct 2023 08:00:38 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 75666D60; Tue, 10 Oct 2023 05:00:16 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DB724C433C7; Tue, 10 Oct 2023 12:00:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939216; bh=sd1BPgiKDfHKjuQl36jNFm0pH7W5mKDJ9L2h4RjkSRk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dzPVo0+0uHMstI2hSVtR4YVo/sDmn97eFC7F98J8QZEZvOibKJU8XFQE3FRBZif3X 2k5bDWGU+rmMJGTMA3+9Cqlx5ua/2ExJnfZN5j21ez0dLVbYPkAtKzfMD+cDSPbXQm RgQeXPfVdtceXnE9F9H4kvRFOh8HIbkWe75bJEHZPBqPYva8H424O/rdMkWbu5rmpI lq5SNombP7vkupyY+lNPri464vzdLdm48zBUwVOumvFtF6jqwo9nOW88YGUgsAR0sx y2+WrRCkRz2SJjHyJg/tC+sOMksuf4ai1wjatnGX/vg8EzYHsRV+hMg2SQOv7r56l4 iuLVm+uLVB4UA== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 15/23] locktorture: Add new module parameters to lock_torture_print_module_parms() Date: Tue, 10 Oct 2023 13:59:13 +0200 Message-Id: <20231010115921.988766-16-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:01:25 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369813539553165 X-GMAIL-MSGID: 1779369813539553165 From: "Paul E. McKenney" This commit adds new module parameters to lock_torture_print_module_parms, and alphabetizes things while in the area. This change makes locktorture test results more useful and self-contained. Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- kernel/locking/locktorture.c | 64 +++++++++++++----------------------- 1 file changed, 23 insertions(+), 41 deletions(-) diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c index 296815ef67ae..d2a3a8cc1902 100644 --- a/kernel/locking/locktorture.c +++ b/kernel/locking/locktorture.c @@ -47,8 +47,8 @@ torture_param(int, shuffle_interval, 3, "Number of jiffies between shuffles, 0=d torture_param(int, shutdown_secs, 0, "Shutdown time (j), <= zero to disable."); torture_param(int, stat_interval, 60, "Number of seconds between stats printk()s"); torture_param(int, stutter, 5, "Number of jiffies to run/halt test, 0=disable"); -torture_param(int, writer_fifo, 0, "Run writers at sched_set_fifo() priority"); torture_param(int, verbose, 1, "Enable verbose debugging printk()s"); +torture_param(int, writer_fifo, 0, "Run writers at sched_set_fifo() priority"); /* Going much higher trips "BUG: MAX_LOCKDEP_CHAIN_HLOCKS too low!" errors */ #define MAX_NESTED_LOCKS 8 @@ -166,12 +166,9 @@ static int torture_lock_busted_write_lock(int tid __maybe_unused) static void torture_lock_busted_write_delay(struct torture_random_state *trsp) { - const unsigned long longdelay_ms = long_hold ? long_hold : ULONG_MAX; - /* We want a long delay occasionally to force massive contention. */ - if (!(torture_random(trsp) % - (cxt.nrealwriters_stress * 2000 * longdelay_ms))) - mdelay(longdelay_ms); + if (long_hold && !(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * long_hold))) + mdelay(long_hold); if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) torture_preempt_schedule(); /* Allow test to be preempted. */ } @@ -244,15 +241,14 @@ __acquires(torture_spinlock) static void torture_spin_lock_write_delay(struct torture_random_state *trsp) { const unsigned long shortdelay_us = 2; - const unsigned long longdelay_ms = long_hold ? long_hold : ULONG_MAX; unsigned long j; /* We want a short delay mostly to emulate likely code, and * we want a long delay occasionally to force massive contention. */ - if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * longdelay_ms))) { + if (long_hold && !(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * long_hold))) { j = jiffies; - mdelay(longdelay_ms); + mdelay(long_hold); pr_alert("%s: delay = %lu jiffies.\n", __func__, jiffies - j); } if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 200 * shortdelay_us))) @@ -370,14 +366,12 @@ __acquires(torture_rwlock) static void torture_rwlock_write_delay(struct torture_random_state *trsp) { const unsigned long shortdelay_us = 2; - const unsigned long longdelay_ms = long_hold ? long_hold : ULONG_MAX; /* We want a short delay mostly to emulate likely code, and * we want a long delay occasionally to force massive contention. */ - if (!(torture_random(trsp) % - (cxt.nrealwriters_stress * 2000 * longdelay_ms))) - mdelay(longdelay_ms); + if (long_hold && !(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * long_hold))) + mdelay(long_hold); else udelay(shortdelay_us); } @@ -398,14 +392,12 @@ __acquires(torture_rwlock) static void torture_rwlock_read_delay(struct torture_random_state *trsp) { const unsigned long shortdelay_us = 10; - const unsigned long longdelay_ms = 100; /* We want a short delay mostly to emulate likely code, and * we want a long delay occasionally to force massive contention. */ - if (!(torture_random(trsp) % - (cxt.nrealreaders_stress * 2000 * longdelay_ms))) - mdelay(longdelay_ms); + if (long_hold && !(torture_random(trsp) % (cxt.nrealreaders_stress * 2000 * long_hold))) + mdelay(long_hold); else udelay(shortdelay_us); } @@ -503,12 +495,9 @@ __acquires(torture_mutex) static void torture_mutex_delay(struct torture_random_state *trsp) { - const unsigned long longdelay_ms = long_hold ? long_hold : ULONG_MAX; - /* We want a long delay occasionally to force massive contention. */ - if (!(torture_random(trsp) % - (cxt.nrealwriters_stress * 2000 * longdelay_ms))) - mdelay(longdelay_ms * 5); + if (long_hold && !(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * long_hold))) + mdelay(long_hold * 5); if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) torture_preempt_schedule(); /* Allow test to be preempted. */ } @@ -676,15 +665,13 @@ __acquires(torture_rtmutex) static void torture_rtmutex_delay(struct torture_random_state *trsp) { const unsigned long shortdelay_us = 2; - const unsigned long longdelay_ms = long_hold ? long_hold : ULONG_MAX; /* * We want a short delay mostly to emulate likely code, and * we want a long delay occasionally to force massive contention. */ - if (!(torture_random(trsp) % - (cxt.nrealwriters_stress * 2000 * longdelay_ms))) - mdelay(longdelay_ms); + if (long_hold && !(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * long_hold))) + mdelay(long_hold); if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 200 * shortdelay_us))) udelay(shortdelay_us); @@ -741,12 +728,9 @@ __acquires(torture_rwsem) static void torture_rwsem_write_delay(struct torture_random_state *trsp) { - const unsigned long longdelay_ms = long_hold ? long_hold : ULONG_MAX; - /* We want a long delay occasionally to force massive contention. */ - if (!(torture_random(trsp) % - (cxt.nrealwriters_stress * 2000 * longdelay_ms))) - mdelay(longdelay_ms * 10); + if (long_hold && !(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * long_hold))) + mdelay(long_hold * 10); if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) torture_preempt_schedule(); /* Allow test to be preempted. */ } @@ -766,14 +750,11 @@ __acquires(torture_rwsem) static void torture_rwsem_read_delay(struct torture_random_state *trsp) { - const unsigned long longdelay_ms = 100; - /* We want a long delay occasionally to force massive contention. */ - if (!(torture_random(trsp) % - (cxt.nrealreaders_stress * 2000 * longdelay_ms))) - mdelay(longdelay_ms * 2); + if (long_hold && !(torture_random(trsp) % (cxt.nrealreaders_stress * 2000 * long_hold))) + mdelay(long_hold * 2); else - mdelay(longdelay_ms / 2); + mdelay(long_hold / 2); if (!(torture_random(trsp) % (cxt.nrealreaders_stress * 20000))) torture_preempt_schedule(); /* Allow test to be preempted. */ } @@ -1056,11 +1037,12 @@ lock_torture_print_module_parms(struct lock_torture_ops *cur_ops, cpumask_setall(&cpumask_all); pr_alert("%s" TORTURE_FLAG - "--- %s%s: nwriters_stress=%d nreaders_stress=%d nested_locks=%d stat_interval=%d verbose=%d shuffle_interval=%d stutter=%d shutdown_secs=%d onoff_interval=%d onoff_holdoff=%d readers_bind=%*pbl writers_bind=%*pbl\n", + "--- %s%s: acq_writer_lim=%d long_hold=%d nested_locks=%d nreaders_stress=%d nwriters_stress=%d onoff_holdoff=%d onoff_interval=%d rt_boost=%d rt_boost_factor=%d shuffle_interval=%d shutdown_secs=%d stat_interval=%d stutter=%d verbose=%d writer_fifo=%d readers_bind=%*pbl writers_bind=%*pbl\n", torture_type, tag, cxt.debug_lock ? " [debug]": "", - cxt.nrealwriters_stress, cxt.nrealreaders_stress, - nested_locks, stat_interval, verbose, shuffle_interval, - stutter, shutdown_secs, onoff_interval, onoff_holdoff, + acq_writer_lim, long_hold, nested_locks, cxt.nrealreaders_stress, + cxt.nrealwriters_stress, onoff_holdoff, onoff_interval, rt_boost, + rt_boost_factor, shuffle_interval, shutdown_secs, stat_interval, stutter, + verbose, writer_fifo, cpumask_pr_args(rcmp), cpumask_pr_args(wcmp)); } From patchwork Tue Oct 10 11:59:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150718 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp146127vqb; Tue, 10 Oct 2023 05:07:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE3aXB0+cuIeK/aZ4Wdh76wi+z4fAdo9FFWxHAWAAioKaCfEzM2D0CuhxZXe9v9VeQmzcIz X-Received: by 2002:a05:6a21:789c:b0:15c:b7ba:e8e0 with SMTP id bf28-20020a056a21789c00b0015cb7bae8e0mr18007390pzc.51.1696939679322; Tue, 10 Oct 2023 05:07:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939679; cv=none; d=google.com; s=arc-20160816; b=eVA/mlapLGnpNyDqzNr7rgDQ83lvKiTZs2Wzak8greUqThSdez2wwFRP4No5dylNLV ETLrGc183sbnBULfW7Bo4INBmm9Gl5tAO9vHu9CUnRRzw0QB8jJE1h4LvaBuiRIfzrO1 qKsgdxvMu/YOMO6M0fZqbLmZCNxwSpSroGEr/wKdnd9sMs6xUzsffuf7Rs4GXW2rkjdV d4tx9LUT/av31xVrJfz5FnzFA46Kj/eE2v/ybjv7DtUZtrqVxo9eVqBYLOB69EPulBMf pfhiRJbVcxE0N/IB0Nf4/S+pWHCAP2oW1wwCuvEbfUSUbgnhrWeX5ooWGBVQlwxHQKAD Pxdw== 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=/NPdCnS+vOBvtcbElPyQGSotxghOuu2HdUsz2Us4PyU=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=BjWYaJDadExwwYEUe3dbd0xRmi4YdOWVextDhSn5/idU7FjHZiBHKEhf3H5Kd44Pdt Mu3BFS3ShWCr8otNt+aOG0x+Z56IihS5XfKdaQ35PUI4LWQgBeR0T/pmH4v/1qM7bTwC fWsb8wyTCDjZaGSm+D79yFqc+nEQxWUg4ndoQodt0JEY4puzkBreZLbbg1LZnvQ0ezg9 pV9swDaTkBsy1ycnMKOvob1YpUwBXTOfiJk+1EHgH0Xt2zTDFATy5bC0Cn2HsO7FWMzu LPWav4h1Zd7ATc/krV9Jr6DrlmUFEa86rlL8d8d2HiwfExCvLTvoaHL/AYbZRvvdCxd2 roAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=oh12frYc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id fh18-20020a056a00391200b0068a6eb3b548si9672673pfb.401.2023.10.10.05.07.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:07:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=oh12frYc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id A64998023F11; Tue, 10 Oct 2023 05:07:56 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231594AbjJJMHj (ORCPT + 20 others); Tue, 10 Oct 2023 08:07:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50756 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231607AbjJJMHg (ORCPT ); Tue, 10 Oct 2023 08:07:36 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 96603D77; Tue, 10 Oct 2023 05:00:19 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A3287C43391; Tue, 10 Oct 2023 12:00:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939219; bh=uIpDokdeZURQXHGW68Zdq69flN3tCoi7qF+XGqyqLDk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oh12frYctjf0MvTV6Z1i0VfqWBFdmGREItA2W6VcaDgCFdEI5/i1srDWjTf2ADG6U LBKQIlECQE4aqLaH37V7Nwzrl/ro2C4CZfeZRvAHYjBAxT5w0HF16OmHhMLJc/9u+G vh71HEpALHjYHoq98Je16TUmpHJdhLvYJmWznbC9BKUyQy1XQ9mxsB1qs3E5HXfnDS bGQjbqFV5BgyiRKUClcKPqhUFT79lwhcpLvcqetuX+5A5ob6h2O7u7/Wne29bXjRww LvvMYsEgvIT2rb6t7BeRduGo38lw8u3HPaUN2tjgFHhlfidCKsIu36pGOilIdcRFV2 8G5i6LnMfkVOQ== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 16/23] locktorture: Add call_rcu_chains module parameter Date: Tue, 10 Oct 2023 13:59:14 +0200 Message-Id: <20231010115921.988766-17-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:07:56 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779370221466221705 X-GMAIL-MSGID: 1779370221466221705 From: "Paul E. McKenney" When running locktorture on large systems, there will normally be enough RCU activity to ensure that there is a grace period in flight at all times. However, on smaller systems, RCU might well be idle the majority of the time. This situation can be inconvenient in cases where the RCU CPU stall warning is part of the debugging process. This commit therefore adds an call_rcu_chains module parameter to locktorture, allowing the user to specify the desired number of self-propagating call_rcu() chains. For good measure, immediately before invoking call_rcu(), the self-propagating RCU callback invokes start_poll_synchronize_rcu() to force the immediate start of a grace period, with the call_rcu() forcing another to start shortly thereafter. Booting with locktorture.call_rcu_chains=2 increases the probability of a stuck locking primitive resulting in an RCU CPU stall warning from about 25% to nearly 100%. Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- .../admin-guide/kernel-parameters.txt | 7 +++ kernel/locking/locktorture.c | 62 ++++++++++++++++++- 2 files changed, 67 insertions(+), 2 deletions(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index 0a1731a0f0ef..300e2c30986c 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -2913,6 +2913,13 @@ to extract confidential information from the kernel are also disabled. + locktorture.call_rcu_chains= [KNL] + Specify the number of self-propagating call_rcu() + chains to set up. These are used to ensure that + there is a high probability of an RCU grace period + in progress at any given time. Defaults to 0, + which disables these call_rcu() chains. + locktorture.nreaders_stress= [KNL] Set the number of locking read-acquisition kthreads. Defaults to being automatically set based on the diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c index d2a3a8cc1902..01d56e6c44d7 100644 --- a/kernel/locking/locktorture.c +++ b/kernel/locking/locktorture.c @@ -34,6 +34,7 @@ MODULE_LICENSE("GPL"); MODULE_AUTHOR("Paul E. McKenney "); torture_param(int, acq_writer_lim, 0, "Write_acquisition time limit (jiffies)."); +torture_param(int, call_rcu_chains, 0, "Self-propagate call_rcu() chains during test (0=disable)."); torture_param(int, long_hold, 100, "Do occasional long hold of lock (ms), 0=disable"); torture_param(int, nested_locks, 0, "Number of nested locks (max = 8)"); torture_param(int, nreaders_stress, -1, "Number of read-locking stress-test threads"); @@ -119,6 +120,12 @@ struct lock_stress_stats { long n_lock_acquired; }; +struct call_rcu_chain { + struct rcu_head crc_rh; + bool crc_stop; +}; +struct call_rcu_chain *call_rcu_chain; + /* Forward reference. */ static void lock_torture_cleanup(void); @@ -1037,15 +1044,60 @@ lock_torture_print_module_parms(struct lock_torture_ops *cur_ops, cpumask_setall(&cpumask_all); pr_alert("%s" TORTURE_FLAG - "--- %s%s: acq_writer_lim=%d long_hold=%d nested_locks=%d nreaders_stress=%d nwriters_stress=%d onoff_holdoff=%d onoff_interval=%d rt_boost=%d rt_boost_factor=%d shuffle_interval=%d shutdown_secs=%d stat_interval=%d stutter=%d verbose=%d writer_fifo=%d readers_bind=%*pbl writers_bind=%*pbl\n", + "--- %s%s: acq_writer_lim=%d call_rcu_chains=%d long_hold=%d nested_locks=%d nreaders_stress=%d nwriters_stress=%d onoff_holdoff=%d onoff_interval=%d rt_boost=%d rt_boost_factor=%d shuffle_interval=%d shutdown_secs=%d stat_interval=%d stutter=%d verbose=%d writer_fifo=%d readers_bind=%*pbl writers_bind=%*pbl\n", torture_type, tag, cxt.debug_lock ? " [debug]": "", - acq_writer_lim, long_hold, nested_locks, cxt.nrealreaders_stress, + acq_writer_lim, call_rcu_chains, long_hold, nested_locks, cxt.nrealreaders_stress, cxt.nrealwriters_stress, onoff_holdoff, onoff_interval, rt_boost, rt_boost_factor, shuffle_interval, shutdown_secs, stat_interval, stutter, verbose, writer_fifo, cpumask_pr_args(rcmp), cpumask_pr_args(wcmp)); } +// If requested, maintain call_rcu() chains to keep a grace period always +// in flight. These increase the probability of getting an RCU CPU stall +// warning and associated diagnostics when a locking primitive stalls. + +static void call_rcu_chain_cb(struct rcu_head *rhp) +{ + struct call_rcu_chain *crcp = container_of(rhp, struct call_rcu_chain, crc_rh); + + if (!smp_load_acquire(&crcp->crc_stop)) { + (void)start_poll_synchronize_rcu(); // Start one grace period... + call_rcu(&crcp->crc_rh, call_rcu_chain_cb); // ... and later start another. + } +} + +// Start the requested number of call_rcu() chains. +static int call_rcu_chain_init(void) +{ + int i; + + if (call_rcu_chains <= 0) + return 0; + call_rcu_chain = kcalloc(call_rcu_chains, sizeof(*call_rcu_chain), GFP_KERNEL); + if (!call_rcu_chains) + return -ENOMEM; + for (i = 0; i < call_rcu_chains; i++) { + call_rcu_chain[i].crc_stop = false; + call_rcu(&call_rcu_chain[i].crc_rh, call_rcu_chain_cb); + } + return 0; +} + +// Stop all of the call_rcu() chains. +static void call_rcu_chain_cleanup(void) +{ + int i; + + if (!call_rcu_chain) + return; + for (i = 0; i < call_rcu_chains; i++) + smp_store_release(&call_rcu_chain[i].crc_stop, true); + rcu_barrier(); + kfree(call_rcu_chain); + call_rcu_chain = NULL; +} + static void lock_torture_cleanup(void) { int i; @@ -1096,6 +1148,8 @@ static void lock_torture_cleanup(void) kfree(cxt.lrsa); cxt.lrsa = NULL; + call_rcu_chain_cleanup(); + end: if (cxt.init_called) { if (cxt.cur_ops->exit) @@ -1225,6 +1279,10 @@ static int __init lock_torture_init(void) } } + firsterr = call_rcu_chain_init(); + if (torture_init_error(firsterr)) + goto unwind; + lock_torture_print_module_parms(cxt.cur_ops, "Start of test"); /* Prepare torture context. */ From patchwork Tue Oct 10 11:59:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150709 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp140810vqb; Tue, 10 Oct 2023 05:01:33 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHi3Ujn35lvvZYVULsutCmzcjYO1TJKRC3WMTrVlO3mctWy2V+v7lCVBgYvNwcAJ6IOgTKW X-Received: by 2002:a05:6a00:1346:b0:68f:e0f0:85f4 with SMTP id k6-20020a056a00134600b0068fe0f085f4mr17979117pfu.25.1696939292921; Tue, 10 Oct 2023 05:01:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939292; cv=none; d=google.com; s=arc-20160816; b=TAm02I1PVHkoHhdNYCQ99P/yqnhYW6VoFbDOvy8GT3eCMTOK3EFIGzuXR06NjuGoNa ekvc+rbYvnMTYC+B/6r4MIUNo7fqfsSXBQ6Wgo3c5pjcBsc8UhJ1ufSCz8913xM7pbrS w12JXHnJs/zCkjzdpXwcgsueWXJYDTgYh1Z659IBj3xe6RV/3nJGUwGjZUmNvXfe2Bc8 7k8jGjDEJvwheI/cXL4f7wcOLWJpM7K+nFIwWKGtkqQhsyb18InbziBuyl4cY45qKicH 4r/+TcZLFSMVbl/JPv56FEQsxNxCEe0W+JqfUMQxfkwbAgEmlQ+GDpj5ZzeukTCvEeRi cpMw== 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=g99KVGXnWvqiXtdQ3pWkqi55tk8wJ2tD30dyj0fyKaY=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=zZSOkFbhkm7ZiWRD8gQ0nmCiAEG26jdtwgQOy6wLMc1WhTDqaq0O6EbaZ9kZBtPLEI ZlcQblyAdb2tZ2DBGTPypvWeJDZj3xLzBItz3YmBljbTlpF4+MJOnrZSZEwVU1WdjhJx lA0wk+KIMe4G6JLPpuqZNrYV+Sa4st68gsc3RXUq8mtnmZxyPnohHH7TuDp86yKer2/B pCTNupAvW/WDe2o6O8YJnpV28QzvDTf2G57gUUuUh9nQOeTRXZmkvsJehWrLSb1aDPxj FrjfkN/khzfohJpGvsb+O211QAmZmwHZWpRFzRfmn/08F1V6jkOb/Lg86fJp4L0+SVpb Y1gQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=c7XqFctb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 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 lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id k5-20020aa788c5000000b0068bf645ac9bsi998199pff.238.2023.10.10.05.01.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:01:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=c7XqFctb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id CFC6D8023EC4; Tue, 10 Oct 2023 05:01:29 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231681AbjJJMBU (ORCPT + 20 others); Tue, 10 Oct 2023 08:01:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47486 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231721AbjJJMAp (ORCPT ); Tue, 10 Oct 2023 08:00:45 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6B4DC10C2; Tue, 10 Oct 2023 05:00:21 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 67717C433C9; Tue, 10 Oct 2023 12:00:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939221; bh=auFBPodM5kO9BUafGEXKYKTSfdxIB8Ykugl3mHcHETw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=c7XqFctbaENt8+vsG9vMQjuAon9bLLDiSAV9lJy1BnuaWV9sAiXEnaHSRPrm34P1I mWK0w1owL2M8zs3fDzHCnKAf3y37AnQNQpZPw/awSFeIwcnVeb0k58WxFr+1o44u57 bNRPrzUrUWTUq2lHh4dIFxRmyGV3xlRp6Y0BU/6C7xfKU8SYsmhZ5a3MTw24x5svsT NIkDceCbAfShNxaUQ56q426HQJv+2n1BvHDuY7kQ9s4w0NviKQfhTb/DpSHofjgR2o E75LyL6vucLF4JmpPf7OJj/eqcnQnxqCV2NiDxAAontPq6UEDbImWcfgIuSmGIn9GM AAEh9ir+jOyhg== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 17/23] doc: Catch-up update for locktorture module parameters Date: Tue, 10 Oct 2023 13:59:15 +0200 Message-Id: <20231010115921.988766-18-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:01:29 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369815991191465 X-GMAIL-MSGID: 1779369815991191465 From: "Paul E. McKenney" This commit documents recently added locktorture module parameters. Signed-off-by: Paul E. McKenney Cc: Joel Fernandes Signed-off-by: Frederic Weisbecker --- .../admin-guide/kernel-parameters.txt | 50 +++++++++++++++++-- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index 300e2c30986c..47f8b1cef4fd 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -2913,6 +2913,11 @@ to extract confidential information from the kernel are also disabled. + locktorture.acq_writer_lim= [KNL] + Set the time limit in jiffies for a lock + acquisition. Acquisitions exceeding this limit + will result in a splat once they do complete. + locktorture.call_rcu_chains= [KNL] Specify the number of self-propagating call_rcu() chains to set up. These are used to ensure that @@ -2920,6 +2925,18 @@ in progress at any given time. Defaults to 0, which disables these call_rcu() chains. + locktorture.long_hold= [KNL] + Specify the duration in milliseconds for the + occasional long-duration lock hold time. Defaults + to 100 milliseconds. Select 0 to disable. + + locktorture.nested_locks= [KNL] + Specify the maximum lock nesting depth that + locktorture is to exercise, up to a limit of 8 + (MAX_NESTED_LOCKS). Specify zero to disable. + Note that this parameter is ineffective on types + of locks that do not support nested acquisition. + locktorture.nreaders_stress= [KNL] Set the number of locking read-acquisition kthreads. Defaults to being automatically set based on the @@ -2935,6 +2952,29 @@ Set time (s) between CPU-hotplug operations, or zero to disable CPU-hotplug testing. + locktorture.readers_bind= [KNL] + Specify the list of CPUs to which the readers are + to be bound. + + locktorture.rt_boost= [KNL] + Do periodic testing of real-time lock priority + boosting. Select 0 to disable, 1 to boost + only rt_mutex, and 2 to boost unconditionally. + Defaults to 2, which might seem to be an + odd choice, but which should be harmless for + non-real-time spinlocks, due to their disabling + of preemption. Note that non-realtime mutexes + disable boosting. + + locktorture.rt_boost_factor= [KNL] + Number that determines how often and for how + long priority boosting is exercised. This is + scaled down by the number of writers, so that the + number of boosts per unit time remains roughly + constant as the number of writers increases. + On the other hand, the duration of each boost + increases with the number of writers. + locktorture.shuffle_interval= [KNL] Set task-shuffle interval (jiffies). Shuffling tasks allows some CPUs to go into dyntick-idle @@ -2957,13 +2997,17 @@ locktorture.torture_type= [KNL] Specify the locking implementation to test. + locktorture.verbose= [KNL] + Enable additional printk() statements. + + locktorture.writers_bind= [KNL] + Specify the list of CPUs to which the writers are + to be bound. + locktorture.writer_fifo= [KNL] Run the write-side locktorture kthreads at sched_set_fifo() real-time priority. - locktorture.verbose= [KNL] - Enable additional printk() statements. - logibm.irq= [HW,MOUSE] Logitech Bus Mouse Driver Format: From patchwork Tue Oct 10 11:59:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150710 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp140955vqb; Tue, 10 Oct 2023 05:01:43 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEoygF5R2qe4HTnac0TXMsREccTN+D3Rx5HpYNwdqiB6E+MINOEYtsx7hKC3JSPfwV3JjEP X-Received: by 2002:a05:6a20:3d90:b0:15e:10e:12f3 with SMTP id s16-20020a056a203d9000b0015e010e12f3mr18799216pzi.0.1696939303569; Tue, 10 Oct 2023 05:01:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939303; cv=none; d=google.com; s=arc-20160816; b=qtWy6VjS51H7aB7np5VNuUjFPJrEA9BMHbZG7widCACjDkn5K17XhX3Fs4T/RgT/YS XzSCFiHzSZFXS240KFH+pcOewyNnT2ZX16ikogOYK3KBafFZjDLrrbuH5l4jfPKNxOrl 2f0txP4J/1GDbSh70byVGLk1BvPgck+vtRCa+SiaP/zb6pZa0Aox5eegzDUi7ODBCTH3 fVizL3RTwmKisaD772p4csaKbTJpe99dvwtDNIfufr8Q4upjnI74xJmH77paMUsBNkjK nHY+TaPhnAwv0Y84bpAVWulbSInBqTC9R9MZQlBYoh0XVAMj5g6Ikua0kS+m5tz8ujzs SBBA== 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=kynD0HmM1a45/wdScMUXKxXuyv2ME/NQJsXL57/fz1o=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=pCU8UCLaCUqcSEpKtsbz2eqJTQznlxVzeY10zDPTsZie665C4EWD/pq19Dpj2JASB3 Lw7/lHoLWIz1+rG5+v+kBEcw728uCGereRikBwOXzsbpQw7X/9HnjBvsJ36RvLuJd083 r3mM3ITLl4RYRWDLKeGj8V+mJYN1mXwgEZipIdauQmF1nyecJE8zW4tgyQGTH89v4eJW og0YrLlPVQo5n+3VrTHwA/3a7mKBm7to50gbYGGHoEjyEimuEWUegHun+IHQoD1pYnJK ddfbeli689SXnNPomhTjRq4CDdRZqmEAs653G4yhRU1kjplkAsKth/H3cqOGpYl4cGnc PbIg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=J8GQOFGv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 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 lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id fh26-20020a056a00391a00b0068e2b901138si9637506pfb.158.2023.10.10.05.01.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:01:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=J8GQOFGv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 5C07C8023EC4; Tue, 10 Oct 2023 05:01:39 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231751AbjJJMB1 (ORCPT + 20 others); Tue, 10 Oct 2023 08:01:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41236 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231664AbjJJMA6 (ORCPT ); Tue, 10 Oct 2023 08:00:58 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DB1C310D4; Tue, 10 Oct 2023 05:00:24 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2C528C433C8; Tue, 10 Oct 2023 12:00:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939224; bh=ha2jr1RYr7HhVfbt6KZ0EmGhSb2PFj9LG18wINl8AWA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=J8GQOFGv3Fl5LVw8DXcXJ94En597LSNTkyCP9zaUyTuQ1dq68wEANQOV0totn72n0 ScnPwHq9+DQIvBm5OLKD4SYDrPMxm8K/i4ODjzs52SXx++8A5kYxCqNJ8xjBJreX6A /V6aAM52reCWBnQHpA+yJv9o5mUPPLOVlFtp1NXZGLN2Eq83J4xzKhOSmkuoq7ZYjC t93gesmdNOV5DuqOydf0uWt+SV25h6ybH0wDrodFeebdSYEVIq014pdMsMeeZkaP9+ 6otDs5Bk59HdSJ8mTu/j2GgL5pJ5baZNEbTORAId0H1tfao5Qnck08U1uOVUvbEZHv xbzasBg7wuVKQ== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 18/23] locktorture: Rename readers_bind/writers_bind to bind_readers/bind_writers Date: Tue, 10 Oct 2023 13:59:16 +0200 Message-Id: <20231010115921.988766-19-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:01:39 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369827291233076 X-GMAIL-MSGID: 1779369827291233076 From: "Paul E. McKenney" This commit renames the readers_bind and writers_bind module parameters to bind_readers and bind_writers, respectively. This provides added clarity via the imperative mode and better organizes the documentation. Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- .../admin-guide/kernel-parameters.txt | 16 +++++------ kernel/locking/locktorture.c | 28 +++++++++---------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index 47f8b1cef4fd..1d539c6d9d1c 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -2918,6 +2918,14 @@ acquisition. Acquisitions exceeding this limit will result in a splat once they do complete. + locktorture.bind_readers= [KNL] + Specify the list of CPUs to which the readers are + to be bound. + + locktorture.bind_writers= [KNL] + Specify the list of CPUs to which the writers are + to be bound. + locktorture.call_rcu_chains= [KNL] Specify the number of self-propagating call_rcu() chains to set up. These are used to ensure that @@ -2952,10 +2960,6 @@ Set time (s) between CPU-hotplug operations, or zero to disable CPU-hotplug testing. - locktorture.readers_bind= [KNL] - Specify the list of CPUs to which the readers are - to be bound. - locktorture.rt_boost= [KNL] Do periodic testing of real-time lock priority boosting. Select 0 to disable, 1 to boost @@ -3000,10 +3004,6 @@ locktorture.verbose= [KNL] Enable additional printk() statements. - locktorture.writers_bind= [KNL] - Specify the list of CPUs to which the writers are - to be bound. - locktorture.writer_fifo= [KNL] Run the write-side locktorture kthreads at sched_set_fifo() real-time priority. diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c index 01d56e6c44d7..a3abcd136f56 100644 --- a/kernel/locking/locktorture.c +++ b/kernel/locking/locktorture.c @@ -58,8 +58,8 @@ module_param(torture_type, charp, 0444); MODULE_PARM_DESC(torture_type, "Type of lock to torture (spin_lock, spin_lock_irq, mutex_lock, ...)"); -static cpumask_var_t readers_bind; // Bind the readers to the specified set of CPUs. -static cpumask_var_t writers_bind; // Bind the writers to the specified set of CPUs. +static cpumask_var_t bind_readers; // Bind the readers to the specified set of CPUs. +static cpumask_var_t bind_writers; // Bind the writers to the specified set of CPUs. // Parse a cpumask kernel parameter. If there are more users later on, // this might need to got to a more central location. @@ -102,8 +102,8 @@ static const struct kernel_param_ops lt_bind_ops = { .get = param_get_cpumask, }; -module_param_cb(readers_bind, <_bind_ops, &readers_bind, 0644); -module_param_cb(writers_bind, <_bind_ops, &writers_bind, 0644); +module_param_cb(bind_readers, <_bind_ops, &bind_readers, 0644); +module_param_cb(bind_writers, <_bind_ops, &bind_writers, 0644); long torture_sched_setaffinity(pid_t pid, const struct cpumask *in_mask); @@ -1039,18 +1039,18 @@ lock_torture_print_module_parms(struct lock_torture_ops *cur_ops, const char *tag) { static cpumask_t cpumask_all; - cpumask_t *rcmp = cpumask_nonempty(readers_bind) ? readers_bind : &cpumask_all; - cpumask_t *wcmp = cpumask_nonempty(writers_bind) ? writers_bind : &cpumask_all; + cpumask_t *rcmp = cpumask_nonempty(bind_readers) ? bind_readers : &cpumask_all; + cpumask_t *wcmp = cpumask_nonempty(bind_writers) ? bind_writers : &cpumask_all; cpumask_setall(&cpumask_all); pr_alert("%s" TORTURE_FLAG - "--- %s%s: acq_writer_lim=%d call_rcu_chains=%d long_hold=%d nested_locks=%d nreaders_stress=%d nwriters_stress=%d onoff_holdoff=%d onoff_interval=%d rt_boost=%d rt_boost_factor=%d shuffle_interval=%d shutdown_secs=%d stat_interval=%d stutter=%d verbose=%d writer_fifo=%d readers_bind=%*pbl writers_bind=%*pbl\n", + "--- %s%s: acq_writer_lim=%d bind_readers=%*pbl bind_writers=%*pbl call_rcu_chains=%d long_hold=%d nested_locks=%d nreaders_stress=%d nwriters_stress=%d onoff_holdoff=%d onoff_interval=%d rt_boost=%d rt_boost_factor=%d shuffle_interval=%d shutdown_secs=%d stat_interval=%d stutter=%d verbose=%d writer_fifo=%d\n", torture_type, tag, cxt.debug_lock ? " [debug]": "", - acq_writer_lim, call_rcu_chains, long_hold, nested_locks, cxt.nrealreaders_stress, + acq_writer_lim, cpumask_pr_args(rcmp), cpumask_pr_args(wcmp), + call_rcu_chains, long_hold, nested_locks, cxt.nrealreaders_stress, cxt.nrealwriters_stress, onoff_holdoff, onoff_interval, rt_boost, rt_boost_factor, shuffle_interval, shutdown_secs, stat_interval, stutter, - verbose, writer_fifo, - cpumask_pr_args(rcmp), cpumask_pr_args(wcmp)); + verbose, writer_fifo); } // If requested, maintain call_rcu() chains to keep a grace period always @@ -1356,8 +1356,8 @@ static int __init lock_torture_init(void) writer_fifo ? sched_set_fifo : NULL); if (torture_init_error(firsterr)) goto unwind; - if (cpumask_nonempty(writers_bind)) - torture_sched_setaffinity(writer_tasks[i]->pid, writers_bind); + if (cpumask_nonempty(bind_writers)) + torture_sched_setaffinity(writer_tasks[i]->pid, bind_writers); create_reader: if (cxt.cur_ops->readlock == NULL || (j >= cxt.nrealreaders_stress)) @@ -1367,8 +1367,8 @@ static int __init lock_torture_init(void) reader_tasks[j]); if (torture_init_error(firsterr)) goto unwind; - if (cpumask_nonempty(readers_bind)) - torture_sched_setaffinity(reader_tasks[j]->pid, readers_bind); + if (cpumask_nonempty(bind_readers)) + torture_sched_setaffinity(reader_tasks[j]->pid, bind_readers); } if (stat_interval > 0) { firsterr = torture_create_kthread(lock_torture_stats, NULL, From patchwork Tue Oct 10 11:59:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150714 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp141309vqb; Tue, 10 Oct 2023 05:02:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHhRt7O2wk7onaEdod6eQJII2Q73c83Xu4CcQDr/4F6K3pron79gmpAbOwr2zfW9WJ/trfl X-Received: by 2002:a05:6a20:7485:b0:15e:e0fd:98e7 with SMTP id p5-20020a056a20748500b0015ee0fd98e7mr21503991pzd.20.1696939326888; Tue, 10 Oct 2023 05:02:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939326; cv=none; d=google.com; s=arc-20160816; b=dRYkI69IjF5iu6j+56p3SkYl8fKO39nmzcY44IasNP9Zo8wUu2PGnqop1+6ki+XMnp 5pUgwkZDOFo58LI91V2bjwOd2czAgT61JQZm2rIvr7eo41xm6rxROqmEyrBPOBzkFnvj OqJghohdmTjxz9v0kZ2ujC/4wLau80HdTKDj34YGx0PuK1q+8F9GiS4/kpDvY/eue7T6 9fYwUJipcUp+BOYGd7Cssm0g7mgupkTe4Xuy5QSrJ/kNSDAo6NZr9CpfWHOl/JA0/AOX 3D0BcduBSdjmzGDchH4kVAvrb4vch6N5ZD8uX1WCSegBupfcp9rbdiShevGZtncf7fmv J5ig== 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=Y68z3aCPrkpSeEJ8jrHgJkjcMI0IR+4BI187tjb7ZrU=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=X7NcFLsRCQzaTj9I3Ep21Cd9O5+y8VAjzVQzwosC7HFiUr2k8T6bTdMbHty0IU3IKh 5eXAFGClWe3RsVuTWItfadnLnO3oV75xkPBO9f4azBqhsX6Fp9y8zReZU8cauXDWWgk7 BJNFaid6Rko8/H0zvFOjpHBgJMhaVm2uVUOJdfUhMZqNNpIThPtuNc48VcmRieWW1JjH iXLfIK4OQoRi0VgtqKVUIv/Y97fypvyGyx83zkX6smRHRhu2jlL7Ob4XD+y1z0qRsHmf lxL/+kZVJAqTHx17a6paf6UyIa8xonz6UxdjkIuWktxjl1n6CtLGgE0vBz48nk00ftfX jkaw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=h7L+9Olz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 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 fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id p17-20020a056a000a1100b006901387b0b3si1863236pfh.9.2023.10.10.05.02.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:02:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=h7L+9Olz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 70A358374C8F; Tue, 10 Oct 2023 05:01:54 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231744AbjJJMBb (ORCPT + 20 others); Tue, 10 Oct 2023 08:01:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47350 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231856AbjJJMBC (ORCPT ); Tue, 10 Oct 2023 08:01:02 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B7800125; Tue, 10 Oct 2023 05:00:27 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E4FCBC433CA; Tue, 10 Oct 2023 12:00:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939227; bh=ksjecpVsxhnG07ngqspAmw6yvV2qCy9sCs74cU/Rdec=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=h7L+9Olzu0k0FZ7CM6Jy88fRCY/dMxW9AoTJ6lOe+YoyqewT6IR3tvLW+iV8XC9kB n8N7jztdBh+71s/fK4Y06fc3tl9dFtenwX5FgspmGr93MA8VSzR2p5aimRk3gbUfry jHynYBGBqfreKcu+i9nmnGp8vFPNz/hbKpOLoGS+50IS7XUuZQPNpKoo2dKAsG6Y0Q wnBmqbYPWv63AtaPRjmHctqZYkombm2vSW3kq5y16UorCL7XuIJDvpzNyrSfQPFZ16 dtRqnBb2fbL6fofjKPryP2437WkZIuUNFL0vO2vu8XT9MeIqIx3Jzt3TH81dvwW2xA Zf8t3LeL9LJ7g== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 19/23] torture: Add kvm.sh --debug-info argument Date: Tue, 10 Oct 2023 13:59:17 +0200 Message-Id: <20231010115921.988766-20-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:01:54 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369851318557286 X-GMAIL-MSGID: 1779369851318557286 From: "Paul E. McKenney" This commit adds a --debug-info argument to kvm.sh in order to ease interpretation of addresses printed on the console and the like. This argument also disables KASLR. Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- tools/testing/selftests/rcutorture/bin/kvm.sh | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/rcutorture/bin/kvm.sh b/tools/testing/selftests/rcutorture/bin/kvm.sh index b0f36a638a69..7af73ddc148d 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm.sh @@ -49,6 +49,7 @@ TORTURE_SHUTDOWN_GRACE=180 TORTURE_SUITE=rcu TORTURE_MOD=rcutorture TORTURE_TRUST_MAKE="" +debuginfo="CONFIG_DEBUG_INFO_NONE=n CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y" resdir="" configs="" cpus=0 @@ -68,6 +69,7 @@ usage () { echo " --cpus N" echo " --datestamp string" echo " --defconfig string" + echo " --debug-info" echo " --dryrun batches|scenarios|sched|script" echo " --duration minutes | s | h | d" echo " --gdb" @@ -135,6 +137,15 @@ do ds=$2 shift ;; + --debug-info|--debuginfo) + if test -z "$TORTURE_KCONFIG_KCSAN_ARG" && test -z "$TORTURE_BOOT_GDB_ARG" + then + TORTURE_KCONFIG_KCSAN_ARG="$debuginfo"; export TORTURE_KCONFIG_KCSAN_ARG + TORTURE_BOOT_GDB_ARG="nokaslr"; export TORTURE_BOOT_GDB_ARG + else + echo "Ignored redundant --debug-info (implied by --kcsan &c)" + fi + ;; --defconfig) checkarg --defconfig "defconfigtype" "$#" "$2" '^[^/][^/]*$' '^--' TORTURE_DEFCONFIG=$2 @@ -163,7 +174,7 @@ do shift ;; --gdb) - TORTURE_KCONFIG_GDB_ARG="CONFIG_DEBUG_INFO_NONE=n CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y"; export TORTURE_KCONFIG_GDB_ARG + TORTURE_KCONFIG_GDB_ARG="$debuginfo"; export TORTURE_KCONFIG_GDB_ARG TORTURE_BOOT_GDB_ARG="nokaslr"; export TORTURE_BOOT_GDB_ARG TORTURE_QEMU_GDB_ARG="-s -S"; export TORTURE_QEMU_GDB_ARG ;; @@ -179,7 +190,7 @@ do shift ;; --kasan) - TORTURE_KCONFIG_KASAN_ARG="CONFIG_DEBUG_INFO_NONE=n CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_KASAN=y"; export TORTURE_KCONFIG_KASAN_ARG + TORTURE_KCONFIG_KASAN_ARG="$debuginfo CONFIG_KASAN=y"; export TORTURE_KCONFIG_KASAN_ARG if test -n "$torture_qemu_mem_default" then TORTURE_QEMU_MEM=2G @@ -191,7 +202,7 @@ do shift ;; --kcsan) - TORTURE_KCONFIG_KCSAN_ARG="CONFIG_DEBUG_INFO_NONE=n CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_KCSAN=y CONFIG_KCSAN_STRICT=y CONFIG_KCSAN_REPORT_ONCE_IN_MS=100000 CONFIG_KCSAN_VERBOSE=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y"; export TORTURE_KCONFIG_KCSAN_ARG + TORTURE_KCONFIG_KCSAN_ARG="$debuginfo CONFIG_KCSAN=y CONFIG_KCSAN_STRICT=y CONFIG_KCSAN_REPORT_ONCE_IN_MS=100000 CONFIG_KCSAN_VERBOSE=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y"; export TORTURE_KCONFIG_KCSAN_ARG ;; --kmake-arg|--kmake-args) checkarg --kmake-arg "(kernel make arguments)" $# "$2" '.*' '^error$' From patchwork Tue Oct 10 11:59:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150712 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp141222vqb; Tue, 10 Oct 2023 05:02:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFlayMct6yAbQyptyQaT+3H0XWoN8W0ObO4zXCdqnDZR/ksQDbIhHbOVUaM4A0HpNj6vyD9 X-Received: by 2002:a05:6358:278c:b0:143:8084:e625 with SMTP id l12-20020a056358278c00b001438084e625mr18871012rwb.11.1696939321668; Tue, 10 Oct 2023 05:02:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939321; cv=none; d=google.com; s=arc-20160816; b=TJqCz7D/xeHrQdq5X9JemgqnD/c1PCMkQp8rZbuxUgl67wwiu3J5O57CLe3jxJXDmp GYwH8tnV6obNnregphpiAqZFBtKbdE7JyfdPMh+fTCwzzNqgBHZCsvBLimKou+VVhtCF AG1T6fCbpWiFJ5e0uD+L2ZLXGarNoj+86hRedZLvNBdis3K+HAtW923jR875bB8NMwNR wcuxoNzO5OTccY/1OXAkJ+9fGPLxZr3K/zIdXa0TvrFMAkFtfrP2FA9k73/R3Ylp13Kg k2FYFyEmL69QygxRgl4xb4g7gr/GPmea2PajtxmK/h20qWPL6wHlKF0XuoaZvrco3mFo RkNA== 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=qrATuWnU4NLQYgiffkU8FcezTvpdH7QvZkY4gkLqn44=; fh=QyKVx5sQ6a0Rye+jmuSl6ocZCOg2PmQ9bDVx4c3R8jE=; b=KZwcUwtRfVC/vUAGPiB8B7ct1ZvLWycI6H7UCUQg7TDnJiBHdv/TLZ3kmrjZr8DyHV +DrHhxrW5YFvePFGNyzbt4iY2SWMuw36jIQv6MCytw+g1HcjPC11TxOMvRri4fBw81Ep h90VTyfhWhlSKSQq+e7TWq+YNMyH4YMz/TL1S+BGx1y+t+QvfyKyK7Zs+3GYLlguvBWR K8MrGaYEpxJlFlFbUY6RKs0YS39FnpZf38+A1Wqx8EGCn/1DT84IhWFdIlhixqziI9fm uNuvVTICYa6TWXG9GtlCQBGqxia5UaYdeypwmPx+l4orhR/20uxIcw1779OqJZtvdFyB D+pg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=rK1w8HDc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 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 agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id 23-20020a630f57000000b0057759a5b7ccsi8844387pgp.305.2023.10.10.05.02.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:02:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=rK1w8HDc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 704B5801D5B4; Tue, 10 Oct 2023 05:01:54 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231661AbjJJMBn (ORCPT + 20 others); Tue, 10 Oct 2023 08:01:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43668 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231907AbjJJMBG (ORCPT ); Tue, 10 Oct 2023 08:01:06 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 282E5134; Tue, 10 Oct 2023 05:00:30 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A969CC433D9; Tue, 10 Oct 2023 12:00:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939230; bh=SnsQJBzy5Sum4OSbj5ASIkNn9fJzznr2FBfCStBhfp8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rK1w8HDcpJRzF2UpaCBAi8ddw1YfpGgZdzCIXIEdNuLaLZNd+IQBa9AaES3CZdNaG MFRaSiKxJnJqA2LkPv+7mdOvSfrXTqo+xA75YGLBTuE+E1SbrbExgU1pBEs+401W4L V0FdNJ8nYRZf2o/VRRASoFcaqsLaaQRBSGkwArzVkruvpJjoCRsnbBaG9FzOCynxnw PKB2rvRVRHm/8t8+BWkO8ZwtB01kYC8sR6TsEB9qmgnYyNZz2ATsEoPsVTCZBJy8kv J3zYeghvwdtH128NRWez+hJGs3nxaYrZ0eT5JIixzPCPv6lF4Yv0vTIR+vBlnCkQ4H JPb/+5CMYW1wA== From: Frederic Weisbecker To: LKML Cc: "Joel Fernandes (Google)" , Boqun Feng , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , "Paul E . McKenney" , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 20/23] rcutorture: Replace schedule_timeout*() 1-jiffy waits with HZ/20 Date: Tue, 10 Oct 2023 13:59:18 +0200 Message-Id: <20231010115921.988766-21-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:01:54 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369845999464318 X-GMAIL-MSGID: 1779369845999464318 From: "Joel Fernandes (Google)" In the past, spinning on schedule_timeout* with a wait of 1 jiffy has hung the kernel. See for example d52d3a2bf408 ("torture: Fix hang during kthread shutdown phase"). This issue recently recurred in torture's stutter code. The result is that the function instantly returns and never goes to sleep, preempting whatever might otherwise make useful forward progress. To prevent future issues, apply the commit-d52d3a2bf408 fix throughout rcutorture, moving from a 1-jiffy wait to a 50-millisecond wait. Signed-off-by: Joel Fernandes (Google) Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- kernel/rcu/rcutorture.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c index 7e82fb887d09..8136fec0310b 100644 --- a/kernel/rcu/rcutorture.c +++ b/kernel/rcu/rcutorture.c @@ -1149,7 +1149,7 @@ static int rcu_torture_boost(void *arg) mutex_unlock(&boost_mutex); break; } - schedule_timeout_uninterruptible(1); + schedule_timeout_uninterruptible(HZ / 20); } /* Go do the stutter. */ @@ -1160,7 +1160,7 @@ checkwait: if (stutter_wait("rcu_torture_boost")) /* Clean up and exit. */ while (!kthread_should_stop()) { torture_shutdown_absorb("rcu_torture_boost"); - schedule_timeout_uninterruptible(1); + schedule_timeout_uninterruptible(HZ / 20); } torture_kthread_stopping("rcu_torture_boost"); return 0; @@ -1183,7 +1183,7 @@ rcu_torture_fqs(void *arg) fqs_resume_time = jiffies + fqs_stutter * HZ; while (time_before(jiffies, fqs_resume_time) && !kthread_should_stop()) { - schedule_timeout_interruptible(1); + schedule_timeout_interruptible(HZ / 20); } fqs_burst_remaining = fqs_duration; while (fqs_burst_remaining > 0 && @@ -2899,7 +2899,7 @@ static int rcu_torture_fwd_prog(void *args) WRITE_ONCE(rcu_fwd_seq, rcu_fwd_seq + 1); } else { while (READ_ONCE(rcu_fwd_seq) == oldseq && !torture_must_stop()) - schedule_timeout_interruptible(1); + schedule_timeout_interruptible(HZ / 20); oldseq = READ_ONCE(rcu_fwd_seq); } pr_alert("%s: Starting forward-progress test %d\n", __func__, rfp->rcu_fwd_id); @@ -3200,7 +3200,7 @@ static int rcu_torture_read_exit_child(void *trsp_in) set_user_nice(current, MAX_NICE); // Minimize time between reading and exiting. while (!kthread_should_stop()) - schedule_timeout_uninterruptible(1); + schedule_timeout_uninterruptible(HZ / 20); (void)rcu_torture_one_read(trsp, -1); return 0; } @@ -3248,7 +3248,7 @@ static int rcu_torture_read_exit(void *unused) smp_mb(); // Store before wakeup. wake_up(&read_exit_wq); while (!torture_must_stop()) - schedule_timeout_uninterruptible(1); + schedule_timeout_uninterruptible(HZ / 20); torture_kthread_stopping("rcu_torture_read_exit"); return 0; } From patchwork Tue Oct 10 11:59:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150713 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp141239vqb; Tue, 10 Oct 2023 05:02:02 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFdEEPaml17Fb70ES4kJKsiY/crf+AUEm4JipfRUOLcuRRTMF0PDbUIgvjeqEADPRyteA8z X-Received: by 2002:a05:6e02:216e:b0:352:a405:fc1c with SMTP id s14-20020a056e02216e00b00352a405fc1cmr23209640ilv.17.1696939322367; Tue, 10 Oct 2023 05:02:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939322; cv=none; d=google.com; s=arc-20160816; b=tdgpJwpnok44M4S1Y+HK9GpdaDVmtl9VLABisWXi0bIYF8sOwe3dbd7lYPI60MRo+I TXRp/Cl/XBf3ljED0+7Fm61gAAUXshOZ6Tgnk6U0LD0/kUUaJkL6dQbIBukfd//918yc g8SoDkNgxFUpdxipaIZg8J6pRml2Z0fpZaw8XkqJZ5TsXVJEnC5IQSOBl1xOIeBZZbKu pJ7PNisJBvO5PE4O2LhYE6E8zGjvZz+hRtkudONg5cqFNaNPWF9pfkcnar1q8vVGOnDP WDmYGLk/+5AkAf5R6Zgh636QI7gcY5HUdHLD4FIRsXid0cuBqMlO6+Spf+Bltb1+OiEc YpOg== 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=9xGiSdtWzBexzPJrd0Huh3kYqFOzXy1aOjKCkgs9W5c=; fh=kZAMmQ7GunejCIEFj6gestrsMKMJ39cNhWmhF5tVphc=; b=J1Y5pbGKNkz5Ebq0+TRhZT5YajwMeD6SQH8CY3QYNOvdonsehWXFqF1aDVgBr6CAE/ Yz2Ax6aUFPsMO6g2bIPfPH0QouviyBFXf90ygK+8/rE1bUOUZulhvKra+iF68ir63cFo IHT4rOOKspljg0bOq6IWbutZuxPQEsxzOzy4+tefJIPe1+vuq7bfBh15iyztrLJH6ZQX vYdastMOm7YDIIxJrNGBW5X3R3yknlAwewO6KkR1VxsTW+y/07+V+EBcZRRaiQiUuLAm GymEp4yxxzPukpaBZ0Pi6+sFwm1bxg8pDX/Ek63+Lz7rVPq3KYfAOcVJQvQAwlA1a/Ua LdBg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=SevFf07q; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id x5-20020a654145000000b005852e1932fesi11357561pgp.456.2023.10.10.05.02.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:02:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=SevFf07q; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id C4CB7802419B; Tue, 10 Oct 2023 05:01:58 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231898AbjJJMBr (ORCPT + 20 others); Tue, 10 Oct 2023 08:01:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43502 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231871AbjJJMBP (ORCPT ); Tue, 10 Oct 2023 08:01:15 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9A049183; Tue, 10 Oct 2023 05:00:33 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6E92AC433C8; Tue, 10 Oct 2023 12:00:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939232; bh=WjajcRSI0f6RpjQNiJdpi/EFUKeHV3KUSmO6ZEPHXJ8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SevFf07qfzV2qTiFE9fXw9e6IR+4fkyxBlhySJCNXIhwT4PZBAqNrh4SUOD0tLRUD /ZF7HtUlGMz4rFj2HbfuY6MkDOIClndbUOS2oycNRsFLfpWdMx5fOc6Z9/OcueeNth Q9A/nLfYQBHa27C1KPuOjzp1yo/ncLqTEXc35E1u8LQAEXSwQDMuOPpO8shZYMPIQa PelcEAmuHe8MKOLrM7TUPmV+cOExoWLSwZ/pVJ4ZYutDkn8OITZ5VPZsfuE3wcVU9l dZ+p7DFDqpuglf63lcFh2RihU3zgf/3V7mnpFe1cYOC7vGZEUW6b8iS7M3Tz+fMXii Oau8KEtqgbaXQ== From: Frederic Weisbecker To: LKML Cc: Zqiang , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , "Paul E . McKenney" , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 21/23] rcutorture: Traverse possible cpu to set maxcpu in rcu_nocb_toggle() Date: Tue, 10 Oct 2023 13:59:19 +0200 Message-Id: <20231010115921.988766-22-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:01:58 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369846601584258 X-GMAIL-MSGID: 1779369846601584258 From: Zqiang Currently, the maxcpu is set by traversing online CPUs, however, if the rcutorture.onoff_holdoff is set zero and onoff_interval is set non-zero, and the some CPUs with larger cpuid has been offline before setting maxcpu, for these CPUs, even if they are online again, also cannot be offload or deoffload. This can result in rcutorture attempting to (de-)offload CPUs that have never been online, but the (de-)offload code handles this. This commit therefore use for_each_possible_cpu() instead of for_each_online_cpu() in rcu_nocb_toggle(). Signed-off-by: Zqiang Reviewed-by: Frederic Weisbecker Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- kernel/rcu/rcutorture.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c index 8136fec0310b..b17ad45cd67e 100644 --- a/kernel/rcu/rcutorture.c +++ b/kernel/rcu/rcutorture.c @@ -2126,7 +2126,7 @@ static int rcu_nocb_toggle(void *arg) VERBOSE_TOROUT_STRING("rcu_nocb_toggle task started"); while (!rcu_inkernel_boot_has_ended()) schedule_timeout_interruptible(HZ / 10); - for_each_online_cpu(cpu) + for_each_possible_cpu(cpu) maxcpu = cpu; WARN_ON(maxcpu < 0); if (toggle_interval > ULONG_MAX) From patchwork Tue Oct 10 11:59:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150715 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp141354vqb; Tue, 10 Oct 2023 05:02:10 -0700 (PDT) X-Google-Smtp-Source: AGHT+IECS2rT79hAfZFaeeY3jokg4nckLNTxTW55OdAYQET8D63ALRll1C200HLsz9xRlYBcoC3/ X-Received: by 2002:a17:902:d34b:b0:1c3:7628:fca8 with SMTP id l11-20020a170902d34b00b001c37628fca8mr15041387plk.49.1696939330166; Tue, 10 Oct 2023 05:02:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939330; cv=none; d=google.com; s=arc-20160816; b=GeiwfAd/w67JnkoeEONU8gMoDUyZZIi5EWIyScrZzvmelxiA8H3ZFnI6jTaW83TyuH TeQlZobEjCjYFumunHuHAPvlYJjdKwmsy8qhzBEJsD1ylM/YGdhl416n7p5eXBvh6asK omm3xXts6Qg1EifwIJ2An/9vBXOY9OoAZbiJ55qpe/CNwEwXnpZOObmbn19SyPYbJq+A vz9gsbvd094hkEeSUp8rAGlu5yHB2+GvvulDTXHujNxEq3D4YKle0Mk2VtWeFwwq1uEV v1rGzDAOvRisqzOnRRq9LFQEuAQ6smcDcGavnWWqO7ELt6VGs+/s5bpJZ93egzxrEN/L 5HGw== 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=Uv1kcu1a7y3T/5sRQUQ7xyTXbum5z3i5niUj4HDWD+k=; fh=9o1vzmbQvXEiiOZAoGEKGHmVR4Ieb6r+octdNZgYFWA=; b=Ja9MCNGo+zT+h0pzssW+u/GXYD8aJ1IeJAb+81ZVi1sLZS7k1lmhx2P5FELE3LPdSg figh3EgUtwfjEh+VI5irBeJ2JG6C+JcYz8VEFIbeLSH1h2E4eC7d4f9FfvNLdo/uNGgJ 6wWzMeYtM0zVwb4hyTIR5i8gFWmBZYDTRCWTWjXUMeo6Ei8I5oxWwjWSKAemLBrczWls CB8WqZCM2bj6E6L/1LgIF7ycIPOjqiI96EUcHQPUW0ygyPRvgblBlZSauGkHCXVAbGnB 3tHFCjUSyZ6UXSW6OxyuiHTOfK0Ek51R1Uzt+Lfh4AyWTMtI/7SMsi1bzsiNFxCb1Xo/ Bjxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=G1l3+AWS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id n6-20020a170903110600b001bba7713547si12294139plh.151.2023.10.10.05.02.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:02:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=G1l3+AWS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id E568C802418E; Tue, 10 Oct 2023 05:02:07 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231959AbjJJMBw (ORCPT + 20 others); Tue, 10 Oct 2023 08:01:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43756 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231880AbjJJMBP (ORCPT ); Tue, 10 Oct 2023 08:01:15 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 097F2101; Tue, 10 Oct 2023 05:00:36 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 60636C433C7; Tue, 10 Oct 2023 12:00:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939235; bh=djkWvlb7qH5eChUEk8EFGaJLa6/2+lr0bMWAb+ydsPY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=G1l3+AWSPYPCmmaWwpqB8mWw0/lhV3pCOif2vBSSJpSnfG3PRWIazRpni+5zAlCTk cD51VTH5hWl9z5K6wdgHD//uoKonwbgf3QGsA9/QndjQweSxpTYZaKsh6VR9BW03GH v8xmmbJ67KOAvd1todHcoCVq2aY+vVZSA1r7yJ3CtLhCYGIY7OLzx4C5KJyjQCoAj6 VxxcHA8ArwsjYW/awLXObGH8uThWiuC1UHCOE7GK9IEy1RZ5yqGUFDAgkuB0Go42Uh zkNIxiaywfhtMZpW4hrxsTX10aoQhA8n+/nvs012YEOYPN8PdZu6rOndic0we6hGF/ wFccDab5MnBVQ== From: Frederic Weisbecker To: LKML Cc: "Paul E. McKenney" , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 22/23] torture: Convert parse-console.sh to mktemp Date: Tue, 10 Oct 2023 13:59:20 +0200 Message-Id: <20231010115921.988766-23-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:02:07 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369855165469733 X-GMAIL-MSGID: 1779369855165469733 From: "Paul E. McKenney" This commit does the long-overdue conversion of the parse-console.sh file to use mktemp to create its temporary directory. Signed-off-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker --- tools/testing/selftests/rcutorture/bin/parse-console.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/rcutorture/bin/parse-console.sh b/tools/testing/selftests/rcutorture/bin/parse-console.sh index e3d2f69ec0fb..b07c11cf6929 100755 --- a/tools/testing/selftests/rcutorture/bin/parse-console.sh +++ b/tools/testing/selftests/rcutorture/bin/parse-console.sh @@ -11,7 +11,7 @@ # # Authors: Paul E. McKenney -T=${TMPDIR-/tmp}/parse-console.sh.$$ +T="`mktemp -d ${TMPDIR-/tmp}/parse-console.sh.XXXXXX`" file="$1" title="$2" From patchwork Tue Oct 10 11:59:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 150716 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp141508vqb; Tue, 10 Oct 2023 05:02:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGJSuzgvas8+Ks0XEyKCHyvx96Uf6OUn2jVhHdlnSdOuhCGjuk9FcJwM9MU6BI5HMqQ4zTI X-Received: by 2002:a05:6a20:dd9a:b0:167:af7d:9e8c with SMTP id kw26-20020a056a20dd9a00b00167af7d9e8cmr11374534pzb.56.1696939340766; Tue, 10 Oct 2023 05:02:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696939340; cv=none; d=google.com; s=arc-20160816; b=xLqAl/2bmkEEHr75QjBHCC81J1+lbaWVpcqU9okGCgMq9Hr4K+Jossd3uYe6TJwnC+ niMuEm6twg/K8D1xgnStG+DDSupBzxz1x/YfFHvwRj3hR1y+oxzPaciys4wK7HiFyIa8 aRYYErapNXz01EPXDyTKegTYxCiVHGHOigecTudD7b7txhZ4GKql4DOreglT1sNWC5et Uf0G1CuO4s1BRzrlJ6LB/ZCZoj1YWEZsoUKN9j9tKU4gmTJHTKKsW1bevsbZoIM+snrs sUwnQqIe+rQ0ZcWAr4tFxriTcnGRaqTaVJaJegAvRPAERWmZIDxZOZQUMhueL2wiXBFK o3qQ== 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=yD83G4ectQwwXXmlG7UYsW94ISGfL2Bvbl/krVDfQv8=; fh=STt8ARl3+MaHAPfeTw5U30HTakllX6RPNp8PMB4dgwE=; b=nmCcNJahVlLQzVZu29b0wx0O3Xr9ZTJStLL/nmbiv6M17RV6k+Se37TpUGPCOmWRUR 1PGAsprNTreVRGzHFjIW19kN+zXMXVJUr+cnRIktgjC2JJ3EwoFd89Ew/kXxwDSVYg7e OwHHn/7/+pTfztMuKZHl5h9JmU2AInOxpXhmHWUzPHbLMkAbbQASzKv39HDudlyI/8Rp 1KbFgYcRztU0UmaCgIedeZqiIQlwceKXl2HqsHmBdu5eDBl/Fe8DTlhpotTs8003ZlRV 7xTly2b/Q4DTC71ghx9eucxoDSNeRDjxPgRp7OJ+hys/cNiPzDTUet83VpCNclu2CZml TqFA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=NQofG2QV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 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 agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id e7-20020a62ee07000000b0068fa57d2442si8879751pfi.130.2023.10.10.05.02.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 05:02:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=NQofG2QV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id CEB4D801CFCE; Tue, 10 Oct 2023 05:02:18 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231966AbjJJMB7 (ORCPT + 20 others); Tue, 10 Oct 2023 08:01:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46118 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231908AbjJJMBP (ORCPT ); Tue, 10 Oct 2023 08:01:15 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0971318F; Tue, 10 Oct 2023 05:00:38 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 24D99C433CC; Tue, 10 Oct 2023 12:00:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696939238; bh=PuTfWYxQLhTAjaDvea6gKVcCYIdp2RUj6VBNyhU8ZZo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NQofG2QVvUNyK5e1afjaX2K7+wJsDecGoeF2EOLKc1waVTQ2NUQR5M2tub1kMSWDZ tBofVRWhX+fs3G+Ey9mIwSnS8LxfdHUSYCGPbtILiVgY/8JKMEONZYjY+fkKxCnpJF jrETXvS3AoL2MJp2xYkVVgxUD+ZyJILy6jtaesiu6MF1XxzU6VXaZqkQSZglY3nHX7 YJMQsVBQth82iwIHaXHtRiusoyP2hztsfrBwvVfzGUd6mcq04d3CVg9k/6vpbz5u+L 6FMnqpPmyx2C7UzFC5EZexPqCQniTa/NoR6xzlg4zKKQvR6g/Z19zP9rQMwljJgYV+ kaQtxp+EZhAyw== From: Frederic Weisbecker To: LKML Cc: Dan Carpenter , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , "Paul E . McKenney" , Steven Rostedt , Uladzislau Rezki , rcu , Frederic Weisbecker Subject: [PATCH 23/23] locktorture: Check the correct variable for allocation failure Date: Tue, 10 Oct 2023 13:59:21 +0200 Message-Id: <20231010115921.988766-24-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231010115921.988766-1-frederic@kernel.org> References: <20231010115921.988766-1-frederic@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Tue, 10 Oct 2023 05:02:18 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779369865791232037 X-GMAIL-MSGID: 1779369865791232037 From: Dan Carpenter There is a typo so this checks the wrong variable. "chains" plural vs "chain" singular. We already know that "chains" is non-zero. Fixes: 7f993623e9eb ("locktorture: Add call_rcu_chains module parameter") Signed-off-by: Dan Carpenter Signed-off-by: Frederic Weisbecker Reviewed-by: Paul E. McKenney --- kernel/locking/locktorture.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c index a3abcd136f56..69d3cd2cfc3b 100644 --- a/kernel/locking/locktorture.c +++ b/kernel/locking/locktorture.c @@ -1075,7 +1075,7 @@ static int call_rcu_chain_init(void) if (call_rcu_chains <= 0) return 0; call_rcu_chain = kcalloc(call_rcu_chains, sizeof(*call_rcu_chain), GFP_KERNEL); - if (!call_rcu_chains) + if (!call_rcu_chain) return -ENOMEM; for (i = 0; i < call_rcu_chains; i++) { call_rcu_chain[i].crc_stop = false;