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.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT 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 9DA90C43142
for ; Mon, 25 Jun 2018 04:06:50 +0000 (UTC)
Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
by mail.kernel.org (Postfix) with ESMTP id 4FC1A2542D
for ; Mon, 25 Jun 2018 04:06:50 +0000 (UTC)
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4FC1A2542D
Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.vnet.ibm.com
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 S1750918AbeFYEGr (ORCPT
);
Mon, 25 Jun 2018 00:06:47 -0400
Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:58158 "EHLO
mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK)
by vger.kernel.org with ESMTP id S1750792AbeFYEGq (ORCPT
);
Mon, 25 Jun 2018 00:06:46 -0400
Received: from pps.filterd (m0098394.ppops.net [127.0.0.1])
by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w5P43vYK059834
for ; Mon, 25 Jun 2018 00:06:46 -0400
Received: from e11.ny.us.ibm.com (e11.ny.us.ibm.com [129.33.205.201])
by mx0a-001b2d01.pphosted.com with ESMTP id 2jtqvgt3s9-1
(version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT)
for ; Mon, 25 Jun 2018 00:06:45 -0400
Received: from localhost
by e11.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted
for from ;
Mon, 25 Jun 2018 00:06:44 -0400
Received: from b01cxnp22036.gho.pok.ibm.com (9.57.198.26)
by e11.ny.us.ibm.com (146.89.104.198) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted;
(version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256)
Mon, 25 Jun 2018 00:06:40 -0400
Received: from b01ledav003.gho.pok.ibm.com (b01ledav003.gho.pok.ibm.com [9.57.199.108])
by b01cxnp22036.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w5P46deZ66453748
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL);
Mon, 25 Jun 2018 04:06:39 GMT
Received: from b01ledav003.gho.pok.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id 3604AB2065;
Mon, 25 Jun 2018 00:06:35 -0400 (EDT)
Received: from b01ledav003.gho.pok.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id 1409EB2064;
Mon, 25 Jun 2018 00:06:35 -0400 (EDT)
Received: from paulmck-ThinkPad-W541 (unknown [9.85.148.28])
by b01ledav003.gho.pok.ibm.com (Postfix) with ESMTP;
Mon, 25 Jun 2018 00:06:35 -0400 (EDT)
Received: by paulmck-ThinkPad-W541 (Postfix, from userid 1000)
id 474A016C4004; Sun, 24 Jun 2018 21:08:44 -0700 (PDT)
Date: Sun, 24 Jun 2018 21:08:44 -0700
From: "Paul E. McKenney"
To: Joel Fernandes
Cc: linux-kernel@vger.kernel.org, Jonathan Corbet ,
Josh Triplett ,
Lai Jiangshan ,
linux-doc@vger.kernel.org,
Mathieu Desnoyers ,
Steven Rostedt , byungchul.park@lge.com
Subject: Re: [RFC] doc: Improve rcu_dynticks::dynticks documentation
Reply-To: paulmck@linux.vnet.ibm.com
References: <20180624193451.250855-1-joel@joelfernandes.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20180624193451.250855-1-joel@joelfernandes.org>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-TM-AS-GCONF: 00
x-cbid: 18062504-2213-0000-0000-000002BF7C7A
X-IBM-SpamModules-Scores:
X-IBM-SpamModules-Versions: BY=3.00009251; HX=3.00000241; KW=3.00000007;
PH=3.00000004; SC=3.00000265; SDB=6.01051935; UDB=6.00539227; IPR=6.00829908;
MB=3.00021843; MTD=3.00000008; XFM=3.00000015; UTC=2018-06-25 04:06:43
X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused
x-cbparentid: 18062504-2214-0000-0000-00005A992719
Message-Id: <20180625040844.GL3593@linux.vnet.ibm.com>
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-06-25_01:,,
signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0
clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0
mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx
scancount=1 engine=8.0.1-1806210000 definitions=main-1806250047
Sender: linux-kernel-owner@vger.kernel.org
Precedence: bulk
List-ID:
X-Mailing-List: linux-kernel@vger.kernel.org
On Sun, Jun 24, 2018 at 12:34:51PM -0700, Joel Fernandes wrote:
> 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)
Good addition, queued, thank you!
Thanx, Paul
> ---
> .../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
>