Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp228825pxb; Wed, 18 Aug 2021 00:31:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyDwyFH5E4xmzGJrdI25xHvI8SOACkPcgFJ8iXXmKv+m+M+eoBPOdvtRItpflCUu+4scHAy X-Received: by 2002:a5e:9747:: with SMTP id h7mr6011981ioq.92.1629271909680; Wed, 18 Aug 2021 00:31:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629271909; cv=none; d=google.com; s=arc-20160816; b=n9TW3yIJFfwA2KFMvqpubKO2IJ6E5dJa4LjAXSYg2u/hFctEwliDVnKb2ewxA34xCA Dg+4MF2Jfo5ihrBXFfhMq/K2Re9XYkq+6erz6Md/PFLZkqGh4e3pmJIFBBUsG6YObKTW IT0h/QAByKl0XLUIhbMy9TnqPxflMFiJtjJoCpoh+WP1OoCw1IFjuzYsUnp0HVexOY7j wYDIQBgGZuKPHnfTVAqU4ReNxuAyLQw211C4P5VyKe18bARYEqJtjGlgaXW8QwIWz9pZ VNUyD6Cj3qWIKNQTc1838SbiDAZbc0SBZ5AFDWEkZskPn26iq3/XuANZh4peLOkpDda7 rbnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dmarc-filter:sender:dkim-signature; bh=X8Wg+AMVmZ0gXRMpbqmQxT4wWsPi1mPziHBGlVtIAkE=; b=QDRqiGN6xhY6FLGZU8AOARpGCMhLrbnP0gQQqTG9Ho3gMWAa+/WUv0eFdrWvlPz0Wp DlWCxZ8iGs9dSZmGGE3Vpa+DA284YV3TxBAQzjvH7oTKgzP3gyPmE4up3/uaD+25jCMX wgi48K0a5FYJp1sMJKqBzJtJUHICrdmBAaiHcN+trIRTl9RuZOdoKKTocPbMFydwTT1p Fk2bDjpMXcAVma6MBULDcjtrxYnY8KSNjZjv4+0e3aApAL+c5vhxzeYhnj7riKsHI8pB 1Sl51lCSFpRUSpzSB/P7aoEtHS5M/KJQQ/xqeRi79RP9T37N5T5lbOh6HfG/nfz+muUw RnIA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mg.codeaurora.org header.s=smtp header.b=vIfMcY3e; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h15si4525059jar.80.2021.08.18.00.31.38; Wed, 18 Aug 2021 00:31:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mg.codeaurora.org header.s=smtp header.b=vIfMcY3e; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239324AbhHRHas (ORCPT + 99 others); Wed, 18 Aug 2021 03:30:48 -0400 Received: from so254-9.mailgun.net ([198.61.254.9]:64995 "EHLO so254-9.mailgun.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239133AbhHRHaX (ORCPT ); Wed, 18 Aug 2021 03:30:23 -0400 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1629271789; h=References: In-Reply-To: Message-Id: Date: Subject: Cc: To: From: Sender; bh=X8Wg+AMVmZ0gXRMpbqmQxT4wWsPi1mPziHBGlVtIAkE=; b=vIfMcY3eS0tLUz7OG8vfSEeASTZIAqXUiwGiQVuOhWiepKrH9GmAZE2hCFltnsmXlUZvzgli Wc4lULCg+a84rUcNB8FHWI0hE65DR5uWujEs29nBrfUsFRuBBgmNfTWpfYyOu4RdEXT3jIgP ayQOVZUQBOlcjnCIrs+GTGpo04U= X-Mailgun-Sending-Ip: 198.61.254.9 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n03.prod.us-east-1.postgun.com with SMTP id 611cb6cf9507ca1a3404313c (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Wed, 18 Aug 2021 07:29:19 GMT Sender: neeraju=codeaurora.org@mg.codeaurora.org Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 1E0C3C4361A; Wed, 18 Aug 2021 07:29:19 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-caf-mail-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=ALL_TRUSTED,BAYES_00,SPF_FAIL, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from localhost (unknown [202.46.22.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: neeraju) by smtp.codeaurora.org (Postfix) with ESMTPSA id 47F1EC4338F; Wed, 18 Aug 2021 07:29:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 smtp.codeaurora.org 47F1EC4338F Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=fail smtp.mailfrom=codeaurora.org From: Neeraj Upadhyay To: paulmck@kernel.org, josh@joshtriplett.org, rostedt@goodmis.org, mathieu.desnoyers@efficios.com, jiangshanlai@gmail.com, joel@joelfernandes.org Cc: rcu@vger.kernel.org, linux-kernel@vger.kernel.org, urezki@gmail.com, frederic@kernel.org, boqun.feng@gmail.com, Neeraj Upadhyay Subject: [PATCH 5/5] rcu-tasks: Clarify read side section info for rcu_tasks_rude GP primitives Date: Wed, 18 Aug 2021 12:58:43 +0530 Message-Id: <1629271723-3816-6-git-send-email-neeraju@codeaurora.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1629271723-3816-1-git-send-email-neeraju@codeaurora.org> References: <1629271723-3816-1-git-send-email-neeraju@codeaurora.org> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RCU tasks rude variant does not check whether the current running context on a CPU is usermode. Read side critical section ends on transition to usermode execution, by the virtue of usermode execution being schedulable. Clarify this in comments for call_rcu_tasks_rude() and synchronize_rcu_tasks_rude(). Signed-off-by: Neeraj Upadhyay --- kernel/rcu/tasks.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/kernel/rcu/tasks.h b/kernel/rcu/tasks.h index 5f9c14c..702a4fa 100644 --- a/kernel/rcu/tasks.h +++ b/kernel/rcu/tasks.h @@ -677,11 +677,11 @@ DEFINE_RCU_TASKS(rcu_tasks_rude, rcu_tasks_rude_wait_gp, call_rcu_tasks_rude, * period elapses, in other words after all currently executing RCU * read-side critical sections have completed. call_rcu_tasks_rude() * assumes that the read-side critical sections end at context switch, - * cond_resched_rcu_qs(), or transition to usermode execution. As such, - * there are no read-side primitives analogous to rcu_read_lock() and - * rcu_read_unlock() because this primitive is intended to determine - * that all tasks have passed through a safe state, not so much for - * data-structure synchronization. + * cond_resched_rcu_qs(), or transition to usermode execution (as + * usermode execution is schedulable). As such, there are no read-side + * primitives analogous to rcu_read_lock() and rcu_read_unlock() because + * this primitive is intended to determine that all tasks have passed + * through a safe state, not so much for data-structure synchronization. * * See the description of call_rcu() for more detailed information on * memory ordering guarantees. @@ -699,8 +699,8 @@ EXPORT_SYMBOL_GPL(call_rcu_tasks_rude); * grace period has elapsed, in other words after all currently * executing rcu-tasks read-side critical sections have elapsed. These * read-side critical sections are delimited by calls to schedule(), - * cond_resched_tasks_rcu_qs(), userspace execution, and (in theory, - * anyway) cond_resched(). + * cond_resched_tasks_rcu_qs(), userspace execution (which is a schedulable + * context), and (in theory, anyway) cond_resched(). * * This is a very specialized primitive, intended only for a few uses in * tracing and other situations requiring manipulation of function preambles -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation