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=-2.9 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,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 1D1D2C43142 for ; Sun, 24 Jun 2018 19:35:05 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B6080252E4 for ; Sun, 24 Jun 2018 19:35:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=joelfernandes.org header.i=@joelfernandes.org header.b="RRYTw8mz" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B6080252E4 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=joelfernandes.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751885AbeFXTfB (ORCPT ); Sun, 24 Jun 2018 15:35:01 -0400 Received: from mail-pf0-f195.google.com ([209.85.192.195]:46457 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751597AbeFXTe7 (ORCPT ); Sun, 24 Jun 2018 15:34:59 -0400 Received: by mail-pf0-f195.google.com with SMTP id q1-v6so5430098pff.13 for ; Sun, 24 Jun 2018 12:34:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; h=from:to:cc:subject:date:message-id; bh=oM8Tr8TK/eW4MzZR6eU5Xgrt37oTYon44hf7ccfXntQ=; b=RRYTw8mzSnt2oDezVTdlZxw6s/q0PDluprf5McDCvrMLCO93pTj0n1E0qZLVrEdsg9 YJKjA88YjePR1N3z2Jn7CYANpmD7LKiIL1QXJiQKSGOsl959frHwIftmtA8vyQbXgIpe nPqBl2lp+Pge1a3GuEkFZAuvZnaEm3ubNN7UA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=oM8Tr8TK/eW4MzZR6eU5Xgrt37oTYon44hf7ccfXntQ=; b=uATel9BhvWSm9dhV2pBIOXL0lsiEUa0WF+Qhoj5E1yUPuRVNeTWi8GTCTa5yhUbsmo 9Oe+NVhuoIA9G3tHQ6W2Mdp1Sq5nlXw2n5NjXLaMPjSMBHzP7bjN2buWc982NZIQRqu4 fjd/xAvNGvMbuGehxuqR1Aq/oviquLoku8PKR9FbshUT7nw6cZT36o2RqeLOhD69m2b4 p6oG0tIdz4E68EturD00Aurxw/V1kFOYBRzaQKLh8fC4/IqbIBscztjzA6Hn4D8ch305 k1n2RxHUcJY6/meoYJ0A2USotmIi6pBx2leJgEsxpWX0w5Ky9lM7+RS1L3eMlTo87kwy FWhw== X-Gm-Message-State: APt69E3zJk+cSawuW4cVKSx54P7mAijSD0kA73BP52f7hY6muU8Xdz2V 4UO01VC8n2+02vAZImGxQGI6owmJQag= X-Google-Smtp-Source: ADUXVKKuY/aAXYmP2XocxXXSox8AZnQ+QvizBCpsb0wGpecTyvQ6Cp4BwhA7OBD0XWUSvsLksKMz1w== X-Received: by 2002:a62:84e:: with SMTP id c75-v6mr10215617pfd.35.1529868898855; Sun, 24 Jun 2018 12:34:58 -0700 (PDT) Received: from joelaf.mtv.corp.google.com ([2620:0:1000:1600:3122:ea9c:d178:eb]) by smtp.gmail.com with ESMTPSA id n76-v6sm28132167pfg.98.2018.06.24.12.34.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 24 Jun 2018 12:34:58 -0700 (PDT) From: Joel Fernandes To: linux-kernel@vger.kernel.org Cc: "Joel Fernandes (Google)" , Jonathan Corbet , Josh Triplett , Lai Jiangshan , linux-doc@vger.kernel.org, Mathieu Desnoyers , "Paul E. McKenney" , Steven Rostedt , byungchul.park@lge.com Subject: [RFC] doc: Improve rcu_dynticks::dynticks documentation Date: Sun, 24 Jun 2018 12:34:51 -0700 Message-Id: <20180624193451.250855-1-joel@joelfernandes.org> X-Mailer: git-send-email 2.18.0.rc2.346.g013aa6912e-goog Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: "Joel Fernandes (Google)" The very useful RCU Data-Structures describes that the dynticks counter of the rcu_dynticks data structure is incremented when we transitions to or from dynticks-idle mode. However it doesn't mention that it is also incremented due to transitions to and from user mode which for dynticks purposes is an extended quiescent state. I found this with tracing calls to rcu_dynticks_eqs_enter which can also happen from rcu_user_enter. Lets add this information to the Data-Structures document. Signed-off-by: Joel Fernandes (Google) --- .../RCU/Design/Data-Structures/Data-Structures.html | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Documentation/RCU/Design/Data-Structures/Data-Structures.html b/Documentation/RCU/Design/Data-Structures/Data-Structures.html index f5120a00f511..50be87e59937 100644 --- a/Documentation/RCU/Design/Data-Structures/Data-Structures.html +++ b/Documentation/RCU/Design/Data-Structures/Data-Structures.html @@ -1227,9 +1227,11 @@ to overflow the counter, this approach corrects the CPU enters the idle loop from process context.

The ->dynticks field counts the corresponding -CPU's transitions to and from dyntick-idle mode, so that this counter -has an even value when the CPU is in dyntick-idle mode and an odd -value otherwise. +CPU's transitions to and from either dyntick-idle or user mode, so +that this counter has an even value when the CPU is in dyntick-idle +mode or user mode and an odd value otherwise. The transitions to/from +user mode need to be counted for user mode adaptive-ticks support +(see timers/NO_HZ.txt).

The ->rcu_need_heavy_qs field is used to record the fact that the RCU core code would really like to -- 2.18.0.rc2.346.g013aa6912e-goog