Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp2649821rwi; Tue, 11 Oct 2022 11:22:13 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6f/67sKZ+sblz9oaZmf7adok6O8n7F2od0XXS7z/d2DN9fxGfSmF+JsqpU0kTNjB+XMeFQ X-Received: by 2002:a05:6402:5483:b0:45c:1336:6d9b with SMTP id fg3-20020a056402548300b0045c13366d9bmr11975516edb.100.1665512533018; Tue, 11 Oct 2022 11:22:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665512533; cv=none; d=google.com; s=arc-20160816; b=DESS/fXQLltNC1K/rOw32oprVLmmbUvq5353YUzFHgWMkEj3gC4PZkS9+a0goqpwVt fS5q+nbXT2+3FKAbcjPZpWbUjy3mqcTr9e9vvSUab2++IW9njEpIXxQwN9laV7qYzqxT j7fie181Sg55Xrd018MhldJi7LfORnq8SLuhYlPXDuhhW6Y+aqgT7aIPGLiuLpZ9PsLR hNUiJdn8SO6j67SzPWUGPzq9BENbcZRIaSJBX/nrktWFq69qcPY2bsAHM2GF7BNE0z3s 668+7IpnSCRu04EsScVrQrZgVWsbY8+Yp6jwMVfl6Yu5pS225JKTutrDuMSrht/0JSRo UNug== 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=wlIK2JXtSjygcKXNSyavYIOSGjfzQt35OWNq3l9CMzQ=; b=GYcCplqSn6Cem4d2Q/mllOheuiC1HrODyNf7cnt/KYZNuMzMycj5soM0MozcmK5vnO TLk8hDmAnZuhvtbop5p1dJBFaNVvis2lyk3kdV0YyKTn68E0+nQTTNxX2cLOr+7cUJge gYxn2e5vGVeZqRKZ9fwJlRmhxv5CsIWliauWF5QaRFOjFwP+ZczuKzAhekMMV35/A6ta DJ3GLRiAX90J/j3voO/aa3Lhx0uiisqHd98YS5aGwCLgny9GzgXc7tIk0iekmpfG/XtI MZLLXDVHcWZ5crdG+TdfdRNRFN80mkhbnkvQKyJAvs6dpEgREgKBmIwc/zAVs4FxOtfQ urDA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=LvBDgkuJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id nd30-20020a170907629e00b00741a089d344si17026908ejc.809.2022.10.11.11.21.46; Tue, 11 Oct 2022 11:22:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=LvBDgkuJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230087AbiJKSCi (ORCPT + 99 others); Tue, 11 Oct 2022 14:02:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47868 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229978AbiJKSCW (ORCPT ); Tue, 11 Oct 2022 14:02:22 -0400 Received: from mail-qk1-x72b.google.com (mail-qk1-x72b.google.com [IPv6:2607:f8b0:4864:20::72b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4828C6C74A for ; Tue, 11 Oct 2022 11:02:16 -0700 (PDT) Received: by mail-qk1-x72b.google.com with SMTP id z30so8992689qkz.13 for ; Tue, 11 Oct 2022 11:02:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wlIK2JXtSjygcKXNSyavYIOSGjfzQt35OWNq3l9CMzQ=; b=LvBDgkuJk+IME5zmgDjzf4o701MY4MrpG2hj9D4Yl0n0HtP4/bQbYD9I5awN4feWVN 7ToN+BTdNlAqAY7OXtImUg/VOd+vZC3eAC9q6m7tdq+u/Zn4o31C8CEbGrzQtyrHwkRc XUa97CYGEZDQwWiWYW4ZLyQGxUHUmcV1jqaC8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wlIK2JXtSjygcKXNSyavYIOSGjfzQt35OWNq3l9CMzQ=; b=Si3XS74WO+/qczCN56fjXs0+bxODDR/yOtvnkF3bHHR9mhNgUDsN46y/hjCsBjaBdX QRQU5JOlZNn9u0qJz05aQu141PrGa1Vo5XdTTMxpT7AyDWEBFbIZEuXNwYWZHsR+5i2J xsPb2EtL9mPB6qVM7ONdNg+JMR51qvWk0++8QtIEmdQZTik4y9x/H9I7ySGWkyDn/RF/ MzcmcEZy/cHeV+5A4AOoYMZCmoBnzfu+qEhOwZ3RsPfofKu+qlT41HnloblnnmzhmOnK LUtccOn8mMAhFHNAc70TQZri23IcEUHtshu7KE3s6HgUCN7VTPsDcmVCV6mO5PyW1OKn swIg== X-Gm-Message-State: ACrzQf1MkZGxDjssZExL2yq/poxPF/rjf309inGZHzLGVK1gfb61YuAY uv0tqhaAapXbyLmJ1tiVfsBB2g== X-Received: by 2002:a37:e205:0:b0:6ee:834:1a1b with SMTP id g5-20020a37e205000000b006ee08341a1bmr5591875qki.342.1665511335777; Tue, 11 Oct 2022 11:02:15 -0700 (PDT) Received: from joelboxx.c.googlers.com.com (228.221.150.34.bc.googleusercontent.com. [34.150.221.228]) by smtp.gmail.com with ESMTPSA id w22-20020a05620a425600b006cbc00db595sm13464375qko.23.2022.10.11.11.02.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Oct 2022 11:02:15 -0700 (PDT) From: "Joel Fernandes (Google)" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, rushikesh.s.kadam@intel.com, urezki@gmail.com, neeraj.iitr10@gmail.com, frederic@kernel.org, paulmck@kernel.org, rostedt@goodmis.org, youssefesmat@google.com, surenb@google.com, "Joel Fernandes (Google)" Subject: [PATCH v8 09/13] rcu/rcutorture: Use call_rcu_flush() where needed Date: Tue, 11 Oct 2022 18:01:38 +0000 Message-Id: <20221011180142.2742289-10-joel@joelfernandes.org> X-Mailer: git-send-email 2.38.0.rc1.362.ged0d419d3c-goog In-Reply-To: <20221011180142.2742289-1-joel@joelfernandes.org> References: <20221011180142.2742289-1-joel@joelfernandes.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, 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 call_rcu() changes to save power will change the behavior of rcutorture tests. Use the call_rcu_flush() API instead which reverts to the old behavior. Reported-by: Paul E. McKenney Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/rcutorture.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c index 684e24f12a79..fd56202ae4f4 100644 --- a/kernel/rcu/rcutorture.c +++ b/kernel/rcu/rcutorture.c @@ -514,7 +514,7 @@ static unsigned long rcu_no_completed(void) static void rcu_torture_deferred_free(struct rcu_torture *p) { - call_rcu(&p->rtort_rcu, rcu_torture_cb); + call_rcu_flush(&p->rtort_rcu, rcu_torture_cb); } static void rcu_sync_torture_init(void) @@ -559,7 +559,7 @@ static struct rcu_torture_ops rcu_ops = { .start_gp_poll_exp_full = start_poll_synchronize_rcu_expedited_full, .poll_gp_state_exp = poll_state_synchronize_rcu, .cond_sync_exp = cond_synchronize_rcu_expedited, - .call = call_rcu, + .call = call_rcu_flush, .cb_barrier = rcu_barrier, .fqs = rcu_force_quiescent_state, .stats = NULL, @@ -863,7 +863,7 @@ static void rcu_tasks_torture_deferred_free(struct rcu_torture *p) static void synchronize_rcu_mult_test(void) { - synchronize_rcu_mult(call_rcu_tasks, call_rcu); + synchronize_rcu_mult(call_rcu_tasks, call_rcu_flush); } static struct rcu_torture_ops tasks_ops = { @@ -3432,13 +3432,13 @@ static void rcu_test_debug_objects(void) /* Try to queue the rh2 pair of callbacks for the same grace period. */ preempt_disable(); /* Prevent preemption from interrupting test. */ rcu_read_lock(); /* Make it impossible to finish a grace period. */ - call_rcu(&rh1, rcu_torture_leak_cb); /* Start grace period. */ + call_rcu_flush(&rh1, rcu_torture_leak_cb); /* Start grace period. */ local_irq_disable(); /* Make it harder to start a new grace period. */ - call_rcu(&rh2, rcu_torture_leak_cb); - call_rcu(&rh2, rcu_torture_err_cb); /* Duplicate callback. */ + call_rcu_flush(&rh2, rcu_torture_leak_cb); + call_rcu_flush(&rh2, rcu_torture_err_cb); /* Duplicate callback. */ if (rhp) { - call_rcu(rhp, rcu_torture_leak_cb); - call_rcu(rhp, rcu_torture_err_cb); /* Another duplicate callback. */ + call_rcu_flush(rhp, rcu_torture_leak_cb); + call_rcu_flush(rhp, rcu_torture_err_cb); /* Another duplicate callback. */ } local_irq_enable(); rcu_read_unlock(); -- 2.38.0.rc1.362.ged0d419d3c-goog