Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp3143436imm; Sun, 24 Jun 2018 12:36:00 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLKxzv49AwAPUbE6X/nVOPXwpFvymi6z7DJ1LYQgouggWaYIP+jZv2ct4VfqNj6MKd6jzCU X-Received: by 2002:a63:951e:: with SMTP id p30-v6mr8274984pgd.318.1529868960701; Sun, 24 Jun 2018 12:36:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529868960; cv=none; d=google.com; s=arc-20160816; b=uXde+FcTwMTycPO4RDoZp8+HXLZzU10qFZ7sue1JIymPi4Rb7xJk4rux9MmjvS1i+Y AoZT+2gj6I5r3KVAtAbWKDC9KmXtVPs/MU6XyEahzrpkHH3fScZkVi1Uu4wJ1Un3HKH9 Ude7+Tu+b66EuE+1Hi8Mw1j6wTJ6PQaCHj3KIW1tRZ07HqsxjgdAmG9qPlTnYjGxUV0+ 7dE81yQGAO5lh4DnD4ZEJ1Uro/LNZuVgyDaNeAgrSK8A6TWbdIqrJSGOboU5chWbwt0+ DxCngzgYO+mtRfBlKfOfL+cEuEQcXc4HFV9w1jZGVB0S5Gam7+Of2QJ/VQVuVitzTMr6 bkBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=oM8Tr8TK/eW4MzZR6eU5Xgrt37oTYon44hf7ccfXntQ=; b=Kn98Lms14zth4ApTfprVIjCNuleLXJXYIIh8dhh3BR3GVauSh1aeASPNr07/h7nIhH rJQgCF+GZSe7qtwFxvKV0LUA0fAG3NMWu1f0DDKZle+Zq9bvcW2OM59LJceXjiYy+FbW u88lhkN9p5Wb+/IM1SxXL6U7r8TrIrHTEk97hPZpZXbP62apMusX80/QCWT1+UW5jI/X UpLUg3hmA25qe2ZAQu9/cVGEfVdR7bzWbSDpNQOUYXJkgO6JjQkBRI/0XddXvtvCs6ho kbtrtp1WIjjr+U1TEnX+Kc1+lyFdAEgXI4qtQkiOZmJGSJDcEAUGBGnjP4YW21mdRYnV 8QLw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=RRYTw8mz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u23-v6si12551116plk.487.2018.06.24.12.35.43; Sun, 24 Jun 2018 12:36:00 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=RRYTw8mz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751858AbeFXTfA (ORCPT + 99 others); Sun, 24 Jun 2018 15:35:00 -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-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