From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CBBF43E7BC6 for ; Wed, 20 May 2026 14:02:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779285771; cv=none; b=EQYEjviBhv6JNhpacjGUL4X3OyzoIgdwUEOnbAM5YgyyhDXxZGLL12Egs0TaiIoZQUMITy5m4p/0hQ7DD/xAcVuxwVgFh/JVw8+nBFd5mBSo2aiWYpqRVLwTwBHrQ1LAvSoq650OytByM/wsQWFtg9mfacnMpem6DioEE7FVaSY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779285771; c=relaxed/simple; bh=FSMtctQdww+HEc+hPRzVd+J9wZaaN+9QWgQPg3FEMeU=; h=From:Date:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=d5aDRYor/TDT0aPi7veQte12liRw9vM/NzYI5Rlt1VIBhnjUy2vjH0cHFT+v2q6IaTbZteUHZ/8s2ZvxgRmrHZ/VPOrcg5zHV7g9/g1Tcg658Y6ypfVEdYL0EpVZhtyrFKZvCbhb4k7stcI0GAH2bxu4/1mO46k1kn9+AVAhLsE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=btYVc7DS; arc=none smtp.client-ip=209.85.167.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="btYVc7DS" Received: by mail-lf1-f41.google.com with SMTP id 2adb3069b0e04-5a8c94cefcdso4293178e87.0 for ; Wed, 20 May 2026 07:02:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779285768; x=1779890568; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:date:from:from:to :cc:subject:date:message-id:reply-to; bh=P/BFjjLcUpMeKtug7IfWPCG5R345sMYVMESVBGeLr1E=; b=btYVc7DSZGXkjADWT+ePIc1Rry/LHgTDpFxqMGYLuhyYTXCkpIKHggfDLtbSEXGNm4 swIfVTUhlA+ho3gvJmT83DWlarHxppDjkiNR9Z9j+ZrXMk8ry/+vxXzL1Q3B55J0Mykf G8Y/q5uOBfI3ftn8WA5o7lZrWtRBybJqq2YD9+MfZKjGOr2IiH2ArZAZJCNzKwC2yEYd e52uOmxpfdeLS0TaJr1lK3/caEKZZMyAAcboVrdLsjag7rNUE/H0eKpXRNMx5r5FsvvG BpKjU3RKEKpILMbwXyo0TfWpklFrhLH2yjlORyEdwMZ7VgoEu+IKtC5jj4sBlgV/Gsfm g00w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779285768; x=1779890568; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=P/BFjjLcUpMeKtug7IfWPCG5R345sMYVMESVBGeLr1E=; b=qYMYYAdjs44Gyj8nzKMDUcfOyZhoDy32l7fllCKL+/s9iJQ6vIEjPUObiungcdsHya HolElCGemN6I/YO7xYFrjzyVPlVkBshcBO4AuvVGeMzKXDFS+cpbzUNeIksNODEikH8G IHn3RhhIrpTp4XEu5NMgooJERapm4z1NoJXwHaTt4RFriTzs31DvwvUNIpjfYf5HfoJY bFFUyhLfnQLodkcSRmGSbK1bcGHIUyiTgek4Pw87SyXqxy1nWe3yM4fqQpqsgOGExXB9 YOLo94cZFLf10bKWZJa1nDYCkjizGIu9I74o5/ARTfIK+r4cpEogiI7pOUJQjYDgSYqc we/g== X-Forwarded-Encrypted: i=1; AFNElJ+37IIXc3zGK8VCcd7TCeLltLBGbnrL/wStGPI3b1AvogDI9Wb7aI4HAjaUi6nyUW2MppL+wgVBFOmRFG4=@vger.kernel.org X-Gm-Message-State: AOJu0Ywt5nlVN8+lEse6h4KRbziJdfNlZhRbAO45Gw+OYlp7JW9yCu0x +Vq81BXFZ9L/ROEcUOU/OJJreksU7UCSFjspa58UW4WqHnSG/AR32G8j X-Gm-Gg: Acq92OE6PqfHwx5zaqZ65TPSrqyp6CHKzdCAWu4j4N8io2B3HMI0IKV4D+OjltfYgT0 KxZMuewtV7W3qZqVllJ2gqSR0B1w2bUQjVlFg4vDKCJfiYNvjeKeKcxJfShUwaZjwvtuxYQCcf6 tb45nMGGLY4sNNC9cnlYovP54sERMIvmrATfG9jIFJnyvSb5oHN2au/BHuLj7Juaopxa/Migx2V BpHcRqZgzVB3J5myPUNFKki4RNQlsap4tWaIo+UFyslltyK9yZ27hbao/NPqcd6y3fBWxhDP/sL t7MFTr3NAfFLh2I+Yq0tZQS3pQzxQQij14Gv02tOkbCXU2/T4/8MzKcWRdB1A1WyoAmCJyZDcGt 6Lyc7MA+i+N8QK77CNjb+/ohY1SJHb01gefd2ALkbHBwTMVEeeoO/wlwHcneyNQKh X-Received: by 2002:a05:6512:10c2:b0:5a8:74c3:5d9b with SMTP id 2adb3069b0e04-5aa0e5ec491mr7536984e87.0.1779285767649; Wed, 20 May 2026 07:02:47 -0700 (PDT) Received: from milan ([2001:9b1:d5a0:a500::24b]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a90f11ad33sm5047456e87.33.2026.05.20.07.02.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 07:02:47 -0700 (PDT) From: Uladzislau Rezki X-Google-Original-From: Uladzislau Rezki Date: Wed, 20 May 2026 16:02:45 +0200 To: Frederic Weisbecker , Arnd Bergmann , "Paul E. McKenney" Cc: Arnd Bergmann , "Paul E. McKenney" , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , Boqun Feng , Uladzislau Rezki , Arnd Bergmann , Steven Rostedt , Mathieu Desnoyers , Lai Jiangshan , Zqiang , Ingo Molnar , Tze-nan Wu , rcu@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] rcu/nocb: reduce stack usage in nocb_gp_wait() Message-ID: References: <20260519190447.1716375-1-arnd@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Wed, May 20, 2026 at 02:04:01PM +0200, Frederic Weisbecker wrote: > Le Tue, May 19, 2026 at 09:01:28PM +0200, Arnd Bergmann a écrit : > > From: Arnd Bergmann > > > > When CONFIG_UBSAN_ALIGNMENT is enabled, the stack usage of nocb_gp_wait() > > grows above typical warning limits: > > > > In file included from kernel/rcu/tree.c:4930: > > kernel/rcu/tree_nocb.h: In function 'rcu_nocb_gp_kthread': > > kernel/rcu/tree_nocb.h:866:1: error: the frame size of 1968 bytes is larger than 1280 bytes [-Werror=frame-larger-than=] > > > > Apparently, the problem is passing rcu_data from a 'void *' pointer, > > which gcc assumes may be misaligned. When the function is not inlined > > into rcu_nocb_gp_kthread(), that is no longer visible to gcc. > > > > Add a 'noinline_for_stack' annotation that leads to skipping a lot of > > the alignment sanitizer checks and keeps the stack usage 60% lower here. > > > > Signed-off-by: Arnd Bergmann > > --- > > kernel/rcu/tree_nocb.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/kernel/rcu/tree_nocb.h b/kernel/rcu/tree_nocb.h > > index 1047b30cd46b..373b877cf171 100644 > > --- a/kernel/rcu/tree_nocb.h > > +++ b/kernel/rcu/tree_nocb.h > > @@ -655,7 +655,7 @@ static void nocb_gp_sleep(struct rcu_data *my_rdp, int cpu) > > * No-CBs GP kthreads come here to wait for additional callbacks to show up > > * or for grace periods to end. > > */ > > -static void nocb_gp_wait(struct rcu_data *my_rdp) > > +static noinline_for_stack void nocb_gp_wait(struct rcu_data *my_rdp) > > This probably deserve a comment though. > > Other than that: > > Reviewed-by: Frederic Weisbecker > Took the patch and applied the tag from both! -- Uladzislau Rezki