From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DBB98C388F9 for ; Fri, 23 Oct 2020 14:47:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 810C32192A for ; Fri, 23 Oct 2020 14:47:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603464475; bh=2TyDOQKtf/PSlGg2G1t5+PXrt9NXJqtTH/s7tVxSJQY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=X/3hYe8NMyRLeRVWWlTJJ+Fs2oHmeIwH0zMwChO4DUaWlTbjzDIzBkbxE1PeGnqBG u0jzR0q62+oI/1IUm9eYfPD/jDMtny+2ELs7/R8Plzn4uuB6UfeQZ/oyYMBYrSwZmy jusS+Pr98yYn7n9kV97YH8PQBEuhBYFSZL+j73V0= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750809AbgJWOrw (ORCPT ); Fri, 23 Oct 2020 10:47:52 -0400 Received: from mail.kernel.org ([198.145.29.99]:33462 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750767AbgJWOr1 (ORCPT ); Fri, 23 Oct 2020 10:47:27 -0400 Received: from localhost.localdomain (unknown [176.167.163.208]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 9370F2168B; Fri, 23 Oct 2020 14:47:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603464446; bh=2TyDOQKtf/PSlGg2G1t5+PXrt9NXJqtTH/s7tVxSJQY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GOmDQkPTmGTF6KLKI3U1pY2ma52jeyE1nKMZ6WtUqqjAUWPxVsQgJZBi5wwZkKf/3 xr5FaE/8uFIy0jm9HxA/QtJkcItpoDgt1hYIwzDJebEU/YWpo9iAt9uyh4QW3o2QkL X2FKidqPYyKR//wc1u0tFfIuDBBCVmZu1yk7QKu0= From: Frederic Weisbecker To: LKML Cc: Frederic Weisbecker , Steven Rostedt , Mathieu Desnoyers , "Paul E . McKenney" , Lai Jiangshan , Neeraj Upadhyay , Joel Fernandes , Josh Triplett Subject: [PATCH 12/16] rcu/nocb: Only cond_resched() from actual offloaded batch processing Date: Fri, 23 Oct 2020 16:46:45 +0200 Message-Id: <20201023144649.53046-13-frederic@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201023144649.53046-1-frederic@kernel.org> References: <20201023144649.53046-1-frederic@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org rcu_do_batch() will be callable concurrently by softirqs and offloaded processing. So make sure we actually call cond resched only from the offloaded context. Inspired-by: Paul E. McKenney Signed-off-by: Frederic Weisbecker Cc: Paul E. McKenney Cc: Josh Triplett Cc: Steven Rostedt Cc: Mathieu Desnoyers Cc: Lai Jiangshan Cc: Joel Fernandes Cc: Neeraj Upadhyay --- kernel/rcu/tree.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 6bad7018dc18..35834ce2d042 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -2491,8 +2491,7 @@ static void rcu_do_batch(struct rcu_data *rdp) /* Exceeded the time limit, so leave. */ break; } - if (offloaded) { - WARN_ON_ONCE(in_serving_softirq()); + if (!in_serving_softirq()) { local_bh_enable(); lockdep_assert_irqs_enabled(); cond_resched_tasks_rcu_qs(); -- 2.25.1