Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp2800121rwb; Thu, 17 Nov 2022 16:38:06 -0800 (PST) X-Google-Smtp-Source: AA0mqf7SLKOiSuJF4w0VMOX0vhqs1gDT3qLnrqcU0ZBLiNtxBE98cW2WHzgjQjqKDJtAkTyZVBS0 X-Received: by 2002:a17:902:e14a:b0:186:b063:339 with SMTP id d10-20020a170902e14a00b00186b0630339mr5248131pla.70.1668731886641; Thu, 17 Nov 2022 16:38:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668731886; cv=none; d=google.com; s=arc-20160816; b=uxen4xnjOJjzsuofQwvbotHIz0ASGitdsLnkNwBWnhc9/OvSWRvXJ3e/aG01qAAGib XWIDs21x3HyFWJODZnRpK0yvI6hQRWfw836rUamS1wJgmD4CQiv1wrzxl5DATKZBDvV6 1hpQF5xFeqRGVNIrJrdpQwShBRSo/05yQb4LgOTQPslb/Xnh5hMjqXoWWWZErwpLi7G5 pDZlX/6OjJNOwLLP/nO2l1xCAxya1FxRdcRDASkbOvlNHn7JHOVHucizv7ij/D2y2VnO MP9NxeptnpThFPJ3YBWVYvO8hF0JsQWZmHhqP4XkhBi8QLpQcZhlSbMREvwY/a5vZZ5t dxwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=PQALVvBpG9Tgm4QJd1bZefWDruQZ7+FZQSohOhIfB6E=; b=qMl16E5cWAgkqSzYkez/ezIYir/3lhWTor58pERbYdrJ7Z30D0t5Boie9OzFYRqr4Q IxkaphjP3Y+gUI6gKO+NbNLHG/KDDyiW00g9IzddEnUzmr5yDamOMx16P/KGKk8rVzf5 INPyXjMATACAQW5n//gG/en5mAj+HfXSMCAH7fMB3eIIz/dWQmursmeMW8LAdOiKK9Un V7RbJ3FKZCWQcZB8gKff/PlBThmnMiONdonljn2ZlE/F6L+WOcsbAQ7lr4xMgz9/prfm /m+JSl/f6O1/12btIXO7JKjoLf+x/1HyQfHQ2/dZF/u59VyVyI/gVWbxV1Xw9XGkVBQ9 7wCg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=WdVSFjUX; 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 d15-20020a056a00244f00b0056ec686183fsi2412865pfj.366.2022.11.17.16.37.44; Thu, 17 Nov 2022 16:38:06 -0800 (PST) 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=WdVSFjUX; 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 S234418AbiKRAYG (ORCPT + 92 others); Thu, 17 Nov 2022 19:24:06 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37722 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234455AbiKRAYD (ORCPT ); Thu, 17 Nov 2022 19:24:03 -0500 Received: from mail-qt1-x82c.google.com (mail-qt1-x82c.google.com [IPv6:2607:f8b0:4864:20::82c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6D9CF67F4A for ; Thu, 17 Nov 2022 16:24:01 -0800 (PST) Received: by mail-qt1-x82c.google.com with SMTP id z6so2240296qtv.5 for ; Thu, 17 Nov 2022 16:24:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=PQALVvBpG9Tgm4QJd1bZefWDruQZ7+FZQSohOhIfB6E=; b=WdVSFjUXoLnDIwsaQd/YCFQYOfKxlJH+t+28yswVvhFD8+/5OsWHv3c1mXajHuV7TN FB8/dQlrzdu9V/hdN5EfH52HdApuaiULyJCJHTWp/BL0H8/WaFqlz1coGPm6H+qr8P8h qgR+O7JetxtHeRm8yq7fn2IdswK27/UJQM/LQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=PQALVvBpG9Tgm4QJd1bZefWDruQZ7+FZQSohOhIfB6E=; b=Q7DLlyoSqDxxUANxld621Hq/OaAT/Tk9pu8hTh16vyiuCB8pGwwJ8kvMDvOLeAkVAZ VZ1yNNQwEC8Rnz6PcrmTGzOICSoLrNVHs+7UF6ykIMrh25HPiUnYLyDsI2zQMOux39TH gTPl+TsRmAeWulYeeccORtZntiT/FMWvzSXL0TF26kVc8iHXye4k4KCtYABHhqfIASQ/ UW6TIl1J+YD4yoDl7O+BmYYF508iteZurrZJlpzTB/P68/MCByl2Xmyhx3tpPbHKMWI2 MHtwTi+06WB3hVu1INqemyopHnUt0Vxod4z0KbSrP9RdNlHPHCAO9g4OlhC6RALL/tqU eQ5Q== X-Gm-Message-State: ANoB5plZgldxkFYEFwXdORYv0eGzHvDlvFxZqN++ia0j2Kj+ovyAVbPh /hK8/VU0JnFfS2eQSAQ7r5cFMg== X-Received: by 2002:a05:622a:428e:b0:3a5:5a43:b36b with SMTP id cr14-20020a05622a428e00b003a55a43b36bmr4654919qtb.407.1668731040558; Thu, 17 Nov 2022 16:24:00 -0800 (PST) Received: from localhost (228.221.150.34.bc.googleusercontent.com. [34.150.221.228]) by smtp.gmail.com with ESMTPSA id i15-20020a05620a248f00b006fa9d101775sm1476838qkn.33.2022.11.17.16.23.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Nov 2022 16:23:59 -0800 (PST) Date: Fri, 18 Nov 2022 00:23:59 +0000 From: Joel Fernandes To: Eric Dumazet Cc: linux-kernel@vger.kernel.org, Cong Wang , David Ahern , "David S. Miller" , Hideaki YOSHIFUJI , Jakub Kicinski , Jamal Hadi Salim , Jiri Pirko , netdev@vger.kernel.org, Paolo Abeni , rcu@vger.kernel.org, rostedt@goodmis.org, paulmck@kernel.org, fweisbec@gmail.com Subject: Re: [PATCH rcu/dev 1/3] net: Use call_rcu_flush() for qdisc_free_cb Message-ID: References: <20221117031551.1142289-1-joel@joelfernandes.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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 Thu, Nov 17, 2022 at 01:44:12PM -0800, Eric Dumazet wrote: > On Wed, Nov 16, 2022 at 7:16 PM Joel Fernandes (Google) > wrote: > > > > In a networking test on ChromeOS, we find that using the new CONFIG_RCU_LAZY > > causes a networking test to fail in the teardown phase. > > > > The failure happens during: ip netns del > > > > Using ftrace, I found the callbacks it was queuing which this series fixes. Use > > call_rcu_flush() to revert to the old behavior. With that, the test passes. > > > > Signed-off-by: Joel Fernandes (Google) > > --- > > net/sched/sch_generic.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c > > index a9aadc4e6858..63fbf640d3b2 100644 > > --- a/net/sched/sch_generic.c > > +++ b/net/sched/sch_generic.c > > @@ -1067,7 +1067,7 @@ static void qdisc_destroy(struct Qdisc *qdisc) > > > > trace_qdisc_destroy(qdisc); > > > > - call_rcu(&qdisc->rcu, qdisc_free_cb); > > + call_rcu_flush(&qdisc->rcu, qdisc_free_cb); > > } > > I took a look at this one. > > qdisc_free_cb() is essentially freeing : Some per-cpu memory, and the > 'struct Qdisc' > > I do not see why we need to force a flush for this (small ?) piece of memory. Indeed! Just tested and dropping this one still makes the test pass. I believe this patch was papering over the issues fixed by the other patches, so it stuck. I will drop this one and move over to trying your suggestions for 2/3. Thanks for taking a look, - Joel