Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp4278868rwi; Wed, 12 Oct 2022 13:16:23 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5AcnllteUHsOvg/NV5OoYjgEwwJG8u17g+isrj+UBIfIPR53rkuHPAgqnSpmsqFcZVxY5k X-Received: by 2002:a17:907:ea6:b0:782:1ace:9d5b with SMTP id ho38-20020a1709070ea600b007821ace9d5bmr23218399ejc.770.1665605783029; Wed, 12 Oct 2022 13:16:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665605783; cv=none; d=google.com; s=arc-20160816; b=x2zlS+NkWxC5XjnzBjLmcX5Tt2pIuqFJRxT+Mt+ZtU5/PecJBZhvs42ZMr4frFbwGS 9nub6+xq9tr4gQ9L674LTbabH9cmRa7wFAPgXVcgz+RdrkFy/vWGzQMH4is7oTk1tLiq TzEdSQawfo6OJcjJLYrjFUvjSegahNSsw32ds0nKNMCTe6eHEHSicvjPyxNPPJey16uk xhYYXhzZgWqJd3860eiyzVk4PfEr0t1AXpUpqtM6ut1kJn9/Z9P4SBeWG4rKZurF7ZyE U5nyV3c0Jp2zjLVUoPa4B4yt+Jxh74kR+wjTM/eGrqXiArQcHUTcm9eO4tKysUJMXy1r D0hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=nIZK921kgx58UdIyVC5ayIJBJbNqULB9uu6tsSeumyA=; b=YbVpJJogGRgj/gEUKnGDhcFPc2Bwthd8xi4iNbaBnFbKuQQs7Ft43HS8zIZhY5rphS auf96vT2r4dj2ijLdf3DtbSXgO29yoZ8/3yEF1cJlH/lLMb7Pf4lnjsJdjC+RO4KPmPf 7g/R1ZvaNGMLFoh1xHTibim9F/PUUJYHxTK4CCXekzAbmGkw8i/LjWTs7ooBMyK/fee2 taD89YfD9JS5A0IAD0WUpXfhEuW7fi/z4TTb9TSVEKdruk7BIrTgEAVd0QtKsOXZqrOX Hv3wiF02krFyRc2BFhLdPrQVqYEUo6OyTSDT2SB6x5P3Hp9+m8ezwk8p6VdRuSuMYLMB K/cA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=JGZDcUzJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id qk13-20020a1709077f8d00b0078dacbcaa7asi5652813ejc.992.2022.10.12.13.15.57; Wed, 12 Oct 2022 13:16:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=JGZDcUzJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229589AbiJLTym (ORCPT + 99 others); Wed, 12 Oct 2022 15:54:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57880 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229468AbiJLTyi (ORCPT ); Wed, 12 Oct 2022 15:54:38 -0400 Received: from mail-il1-x12a.google.com (mail-il1-x12a.google.com [IPv6:2607:f8b0:4864:20::12a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 71372189 for ; Wed, 12 Oct 2022 12:54:36 -0700 (PDT) Received: by mail-il1-x12a.google.com with SMTP id d14so9336064ilf.2 for ; Wed, 12 Oct 2022 12:54:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=nIZK921kgx58UdIyVC5ayIJBJbNqULB9uu6tsSeumyA=; b=JGZDcUzJP7GvU3lcTwaBlSH0DdoDDbn3M6ccuZ2yUn3bHouMHUlk/eP0MaDhqbE4xO zXdJPa/5SOiFHfks0kXR0CwvF5mIzznqToOT55cjbD2Pu3g8zO6H+J5V7L5NBbONPbfZ fd4/vy8qzCEoetISe+lXuv4T4jna282pgC8UQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=nIZK921kgx58UdIyVC5ayIJBJbNqULB9uu6tsSeumyA=; b=P7f1NVB1rKrDghjZYHZWn6dmCcBnOI3HkvNN0iTSIlKKzbkP7EAMhmoW4vvRsg5h7N FuD61Y9f2+hx7tfDCxXFh5wbo/YhLirJAazkuzv2Lrl158OBkdqThXaaqcjIseizbB06 UrjvZmsDmG9apNjgoI4371pQVI2VK6aHThKdUKk+YqGzGpvXCH/4zVsm+Spe1RrfSTog bKnY/FC8S9bWrWNXuvlsHECJ8QCYc5kqilK5BGFM8jfiM12roBUPBWFwGs0rmw936TFm vemjGzAb+Erx8OivgOn3yRQbDLR/4mjZN1HpvFxEGQTgCzMbMii/sVmdm4X+PzfxZ7hN ykag== X-Gm-Message-State: ACrzQf2NlauZE3f68XkP6W6kj0nSXEClTtGW+8hNqIq+0F8H5oyWPHhV jeFrYMLMxNiBNi72gRdJ9lC2WtOpKednNTMSio8+7w== X-Received: by 2002:a92:d686:0:b0:2fa:6226:6247 with SMTP id p6-20020a92d686000000b002fa62266247mr15896122iln.79.1665604475795; Wed, 12 Oct 2022 12:54:35 -0700 (PDT) MIME-Version: 1.0 References: <20221011180142.2742289-1-joel@joelfernandes.org> <20221011180142.2742289-3-joel@joelfernandes.org> <20221011231053.GA1052831@lothringen> In-Reply-To: <20221011231053.GA1052831@lothringen> From: Joel Fernandes Date: Wed, 12 Oct 2022 15:54:25 -0400 Message-ID: Subject: Re: [PATCH v8 02/13] rcu: Make call_rcu() lazy to save power To: Frederic Weisbecker Cc: rcu@vger.kernel.org, linux-kernel@vger.kernel.org, rushikesh.s.kadam@intel.com, urezki@gmail.com, neeraj.iitr10@gmail.com, paulmck@kernel.org, rostedt@goodmis.org, youssefesmat@google.com, surenb@google.com Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Oct 11, 2022 at 7:10 PM Frederic Weisbecker wrote: > > On Tue, Oct 11, 2022 at 06:01:31PM +0000, Joel Fernandes (Google) wrote: > > @@ -269,10 +294,14 @@ static void wake_nocb_gp_defer(struct rcu_data *rdp, int waketype, > > raw_spin_lock_irqsave(&rdp_gp->nocb_gp_lock, flags); > > > > /* > > - * Bypass wakeup overrides previous deferments. In case > > - * of callback storm, no need to wake up too early. > > + * Bypass wakeup overrides previous deferments. In case of > > + * callback storm, no need to wake up too early. > > */ > > - if (waketype == RCU_NOCB_WAKE_BYPASS) { > > + if (waketype == RCU_NOCB_WAKE_LAZY && > > + READ_ONCE(rdp->nocb_defer_wakeup) == RCU_NOCB_WAKE_NOT) { > > No need for READ_ONCE() here. > > > + mod_timer(&rdp_gp->nocb_timer, jiffies + jiffies_till_flush); > > + WRITE_ONCE(rdp_gp->nocb_defer_wakeup, waketype); > > + } else if (waketype == RCU_NOCB_WAKE_BYPASS) { > > mod_timer(&rdp_gp->nocb_timer, jiffies + 2); > > WRITE_ONCE(rdp_gp->nocb_defer_wakeup, waketype); > > } else { > > @@ -611,6 +682,8 @@ static void nocb_gp_wait(struct rcu_data *my_rdp) > > unsigned long flags; > > bool gotcbs = false; > > unsigned long j = jiffies; > > + bool lazy = false; > > + long lazy_ncbs; > > Looks like lazy_ncbs can be declared withing the loop, as well as bypass_cbs. > > Anyway, apart from such boring cosmectics: > > Acked-by: Frederic Weisbecker Thanks, I folded the cosmetic suggestions with the Ack and pushed it to: https://github.com/joelagnel/linux-kernel.git (branch rcu-next-oct.12.22) thanks, - Joel