Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp1205728ybl; Fri, 16 Aug 2019 10:37:31 -0700 (PDT) X-Google-Smtp-Source: APXvYqx+IbhIPGrrgKH+xSMCXOHN87EC0jJxE+/sI13M3LTCxZgqfj6aNfukV0mDwzVk9hCVCalq X-Received: by 2002:a17:90a:4803:: with SMTP id a3mr8598912pjh.58.1565977051170; Fri, 16 Aug 2019 10:37:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565977051; cv=none; d=google.com; s=arc-20160816; b=LVD9n+IW0cTQt5wNtmD8YcdSUiq5YSmWnkF1Z4L158l3WFtHFfvgcXOJsQ5AK01k0k w+SI8Vxl2nwSbf8PBSgUM/VjPURdYCJ/Rr44Ww4SQEKNLdRiyXxsWNeHExkGlxnzysAM eypBTUMcNgcS6YQABWypb1vyuioKa9irdMWvCJ01bN1hXOElSGcBqFHjDj3bXtA7dzsg Sv53vqibkgg5Dg7vwMDeOK1T7FIV73i6QOhUKcuQm8PxZVTAePmz96MXib0oBLw9LZnl orgTy58NXhvn+E51iA/n6kLJoQifMXcvfrEsaoaXOvcQEVjNhm41k/H0RJ6zI53Pfjwj Hsxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=yWBq0VtKejgqsAuflTdd8kSUS6V0VNEsdv0fzvV5PpM=; b=KC0vL25pHL1P1BIshELLRPTIRznASM8jeLJ4Y64f1EyOWtdvvbCzG0nd0ret6a9Tj7 S1Lu41uZRUKJi1hod9jfUZ5vIvlfzQawlTkxXa1nxbxk5q5vPRcRIytxpSm6bTf4HIdH E8a9Wae2jEhlYwamS40v789Vtf22GvnQy1brBMY1NfBFls8AQF5zipd1e2c6FYuO+LYZ jUb7O9y8TEPqLRrvde18oafsIy89qqGVcm101CIzYSRYYEvgYB+eAlmkCJsBuWTwgAEC hj1DH1GALwS9JXozhlVOccwhj2hw/nQxdltJD6jfRbmzOzUW9EiERwdOYugLOV+CDzkY JHqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=SDCg1M2c; 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 31si4446152plk.342.2019.08.16.10.37.16; Fri, 16 Aug 2019 10:37:31 -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=SDCg1M2c; 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 S1727631AbfHPRfW (ORCPT + 99 others); Fri, 16 Aug 2019 13:35:22 -0400 Received: from mail-pf1-f195.google.com ([209.85.210.195]:40890 "EHLO mail-pf1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727504AbfHPRfW (ORCPT ); Fri, 16 Aug 2019 13:35:22 -0400 Received: by mail-pf1-f195.google.com with SMTP id w16so3456335pfn.7 for ; Fri, 16 Aug 2019 10:35:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=yWBq0VtKejgqsAuflTdd8kSUS6V0VNEsdv0fzvV5PpM=; b=SDCg1M2cACRBAdDZ0z6b1Qj1GmU0MgFaOiv8jKHv9FehGxH8q5lKiNBErsO/C28Z2Z WsqsgGBykFHHpB4R3jcpBOfAq/pXND4CC1DduwW2aOR+vG0uVoY38OG9Mg+eigTvZUZk Oi/xfUVhWi6rUsKNceQwTRMFWl+DkYlJqkoy0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=yWBq0VtKejgqsAuflTdd8kSUS6V0VNEsdv0fzvV5PpM=; b=aGm09Y9EPtaMzPCRh+A4szXwEG0GemKInfXmf/Uxlg8qdR6tW+t/6aIfGvg+GpZb1i vdVOS7IU7+5O0jRzGcUUg3CEYgw7AlgPDaUKTTzR+cJ7Mjj0wg53LrfDea7SPD3HMhgT Yqkj2Mory6xDU6jJGuVnovT8RHS52g32uy0zADDD7TYmwXyya3h/zI2SVpCOYWpQ/q0r 4J9c+lAH7/EpDYPugNWv2BOV84XklfbcKK93UGzMQYfXsfRtKeRc283K/Nd4QFJ4c4to 1qee1gE6gjVNpC9qkt1zhyXikNbxlLK9OfJU6eI1q8Uvb4z8rwTNvdAzrjRiILsNovTs QhuQ== X-Gm-Message-State: APjAAAV8qbVzfDw8Uvq/RL/TqxykYtRmJxpBvOVSKYRNo/1qHpXWHI/W LIwQQQn4suQf3ZTG9r9+xfkxJQ== X-Received: by 2002:aa7:8b10:: with SMTP id f16mr12098631pfd.44.1565976921490; Fri, 16 Aug 2019 10:35:21 -0700 (PDT) Received: from localhost ([172.19.216.18]) by smtp.gmail.com with ESMTPSA id j20sm6057599pfr.113.2019.08.16.10.35.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Aug 2019 10:35:20 -0700 (PDT) Date: Fri, 16 Aug 2019 13:35:04 -0400 From: Joel Fernandes To: "Paul E. McKenney" Cc: linux-kernel@vger.kernel.org, rcu@vger.kernel.org, frederic@kernel.org Subject: Re: [PATCH -rcu dev 1/3] rcu/tree: tick_dep_set/clear_cpu should accept bits instead of masks Message-ID: <20190816173504.GD10481@google.com> References: <20190816025311.241257-1-joel@joelfernandes.org> <20190816172529.GU28441@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190816172529.GU28441@linux.ibm.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Aug 16, 2019 at 10:25:29AM -0700, Paul E. McKenney wrote: > On Thu, Aug 15, 2019 at 10:53:09PM -0400, Joel Fernandes (Google) wrote: > > This commit fixes the issue. > > > > Signed-off-by: Joel Fernandes (Google) > > And I am squashing these into their respective commits with attribution. > Good eyes, thank you very much!!! Thank you!! - Joel > Thanx, Paul > > > --- > > kernel/rcu/tree.c | 29 +++++++++++++++++------------ > > 1 file changed, 17 insertions(+), 12 deletions(-) > > > > diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c > > index 0512de9ead20..322b1b57967c 100644 > > --- a/kernel/rcu/tree.c > > +++ b/kernel/rcu/tree.c > > @@ -829,7 +829,7 @@ static __always_inline void rcu_nmi_enter_common(bool irq) > > !rdp->dynticks_nmi_nesting && > > rdp->rcu_urgent_qs && !rdp->rcu_forced_tick) { > > rdp->rcu_forced_tick = true; > > - tick_dep_set_cpu(rdp->cpu, TICK_DEP_MASK_RCU); > > + tick_dep_set_cpu(rdp->cpu, TICK_DEP_BIT_RCU); > > } > > trace_rcu_dyntick(incby == 1 ? TPS("Endirq") : TPS("++="), > > rdp->dynticks_nmi_nesting, > > @@ -898,7 +898,7 @@ void rcu_irq_enter_irqson(void) > > void rcu_disable_tick_upon_qs(struct rcu_data *rdp) > > { > > if (tick_nohz_full_cpu(rdp->cpu) && rdp->rcu_forced_tick) { > > - tick_dep_clear_cpu(rdp->cpu, TICK_DEP_MASK_RCU); > > + tick_dep_clear_cpu(rdp->cpu, TICK_DEP_BIT_RCU); > > rdp->rcu_forced_tick = false; > > } > > } > > @@ -2123,8 +2123,9 @@ int rcutree_dead_cpu(unsigned int cpu) > > do_nocb_deferred_wakeup(per_cpu_ptr(&rcu_data, cpu)); > > > > // Stop-machine done, so allow nohz_full to disable tick. > > - for_each_online_cpu(c) > > - tick_dep_clear_cpu(c, TICK_DEP_MASK_RCU); > > + for_each_online_cpu(c) { > > + tick_dep_clear_cpu(c, TICK_DEP_BIT_RCU); > > + } > > return 0; > > } > > > > @@ -2175,8 +2176,9 @@ static void rcu_do_batch(struct rcu_data *rdp) > > rcu_nocb_unlock_irqrestore(rdp, flags); > > > > /* Invoke callbacks. */ > > - if (IS_ENABLED(CONFIG_NO_HZ_FULL)) > > - tick_dep_set_task(current, TICK_DEP_MASK_RCU); > > + if (IS_ENABLED(CONFIG_NO_HZ_FULL)) { > > + tick_dep_set_task(current, TICK_DEP_BIT_RCU); > > + } > > rhp = rcu_cblist_dequeue(&rcl); > > for (; rhp; rhp = rcu_cblist_dequeue(&rcl)) { > > debug_rcu_head_unqueue(rhp); > > @@ -2243,8 +2245,9 @@ static void rcu_do_batch(struct rcu_data *rdp) > > /* Re-invoke RCU core processing if there are callbacks remaining. */ > > if (!offloaded && rcu_segcblist_ready_cbs(&rdp->cblist)) > > invoke_rcu_core(); > > - if (IS_ENABLED(CONFIG_NO_HZ_FULL)) > > - tick_dep_clear_task(current, TICK_DEP_MASK_RCU); > > + if (IS_ENABLED(CONFIG_NO_HZ_FULL)) { > > + tick_dep_clear_task(current, TICK_DEP_BIT_RCU); > > + } > > } > > > > /* > > @@ -3118,8 +3121,9 @@ int rcutree_online_cpu(unsigned int cpu) > > rcutree_affinity_setting(cpu, -1); > > > > // Stop-machine done, so allow nohz_full to disable tick. > > - for_each_online_cpu(c) > > - tick_dep_clear_cpu(c, TICK_DEP_MASK_RCU); > > + for_each_online_cpu(c) { > > + tick_dep_clear_cpu(c, TICK_DEP_BIT_RCU); > > + } > > return 0; > > } > > > > @@ -3143,8 +3147,9 @@ int rcutree_offline_cpu(unsigned int cpu) > > rcutree_affinity_setting(cpu, cpu); > > > > // nohz_full CPUs need the tick for stop-machine to work quickly > > - for_each_online_cpu(c) > > - tick_dep_set_cpu(c, TICK_DEP_MASK_RCU); > > + for_each_online_cpu(c) { > > + tick_dep_set_cpu(c, TICK_DEP_BIT_RCU); > > + } > > return 0; > > } > > > > -- > > 2.23.0.rc1.153.gdeed80330f-goog > > >