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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 22766C54E65 for ; Wed, 21 May 2025 23:51:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B6FB66B0089; Wed, 21 May 2025 19:51:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B488B6B008A; Wed, 21 May 2025 19:51:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A873D6B008C; Wed, 21 May 2025 19:51:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 888E06B0089 for ; Wed, 21 May 2025 19:51:01 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 01AFC81798 for ; Wed, 21 May 2025 23:51:00 +0000 (UTC) X-FDA: 83468563122.15.1555458 Received: from out-174.mta0.migadu.com (out-174.mta0.migadu.com [91.218.175.174]) by imf14.hostedemail.com (Postfix) with ESMTP id 2E1D3100004 for ; Wed, 21 May 2025 23:50:58 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=ApQe7xIV; spf=pass (imf14.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.174 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747871459; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Li8vMzkz2DScQy48n1mOKI/BV9l+/HG3atLWmKwQyVo=; b=h74o66G1UP70iicSa3hjL8nUTvRbTvugSif+p3htLZIdYi6Ijm6HulZGEMvrQCxmeomVdB 8rUIBd/5exifNo6rjoKb2jcndsp3pdEBd6pQlAl5Ipdk/qvfrhHfMz4s8MVfpA1YNmS1G8 Irn6KgcpRZZvTljLijMwB6LUlnxyAsY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747871459; a=rsa-sha256; cv=none; b=l/zSeQl86CUGfUqhNRI28Hwj1jbnruZ9eHAMT5eAb0h7HFHWLwhFeXuwUl1rAW5STdTAAQ vCSnN5ijb4+usNdYwDvFuMTA1tOxiGaCQXTi2Ee1fppMDJbJ86Kuu+YDxtPBxtAie2ANM1 lAUZIHb/3lEjeImQnCD5OIwzLfjcsHw= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=ApQe7xIV; spf=pass (imf14.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.174 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev Date: Wed, 21 May 2025 16:50:50 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1747871456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Li8vMzkz2DScQy48n1mOKI/BV9l+/HG3atLWmKwQyVo=; b=ApQe7xIVIUjgwmE9xIOAZ0Zd8DvOwH0fYJMiY7Twa8IZ7ybgRSmUqddUI4tQjGm4NAar1Z I8h1B0l6ha6EcqSWaXO+6If8l2r1m9vG2S3nHIdYU31Px/+b6AqWQlrg0/7NyrAM36wCnX jq1RUs+w5szf53y5VGOBrANIvP2L1TQ= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: JP Kobryn Cc: Klara Modin , Tejun Heo , Andrew Morton , Alexei Starovoitov , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Yosry Ahmed , Michal =?utf-8?Q?Koutn=C3=BD?= , Vlastimil Babka , Sebastian Andrzej Siewior , bpf@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, Meta kernel team Subject: Re: [OFFLIST PATCH 2/2] cgroup: use subsystem-specific rstat locks to avoid contention Message-ID: References: <20250428174943.69803-1-inwardvessel@gmail.com> <20250428174943.69803-2-inwardvessel@gmail.com> <9151095d-98dc-4497-9a64-b2eb7f8f96ea@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9151095d-98dc-4497-9a64-b2eb7f8f96ea@gmail.com> X-Migadu-Flow: FLOW_OUT X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 2E1D3100004 X-Stat-Signature: pw6ts3hphzsfbwsc5sd4utxdhqd95eyu X-Rspam-User: X-HE-Tag: 1747871458-83085 X-HE-Meta: U2FsdGVkX18Malbwa5WgowZu06W1SztpXbySIxNekR/KDpR0wmz4h0j92V8wp5bey8ICyRSpJ0xMQlMURTYhRXKpCTdlC1+Dlw8AzH00P4ongWgHALBnapv8flyEweU32ncxRfhpUw+4z6ajggKGAOVcz0rStMJrHghcjvBlmRxnTrtb9T6Qh8pUlT6Uqhp52mYMo+NqdQqER+DQf/WlXAiAkILLlX+s8DcjnoPQbcDlA4+d4cqtiAMc7Ku6Plme+jfpb2+pHiS5OidgOSpcUTLFi0gGuyoiOor3ZlnCa1R150u1EOuI1PlfnK7xomDvN+vyviWd+qSYvt2lEBoZmO73nl3OBpvAYSb83L11NSxz7PH0COvyV0TlSDao9gEFdoXhrC59zriYGUhrTgdGlDGELv/PHvqqUA42ZhSmkTNornTb+Ti4VtWQ56RQ9Uwp5WVTuZ+9X3jT7e/ajjKx0mty3NUdbe1ZoLCpe8/h6GzOEUXELGVKEqVoY9PpBxmhLkM8ZHoyvnkByPDCMoOulm86olh5dTVy3jIRAgOrt44aKfwIw9DEgzVDr5FMjoGNyjcpR5SYbEntXpgo5a6wK/POFInui8DYbkXOrsCimHzivYMlLJ9HrfqM1YwzA0Ilknzakzp2XPVRgpSyGdrmdFJKN3e1spqgH1ZnR3vfMaNBBcSq6zm4YmR3yn9Z7EbMxw1F14KoHqcNG1DjOFraYuRPmVLb5YPEMj/XAeMbU5TETrolmpOHvlZBIi6wb38KI7KUptkylY0kcWOS7TSfT2a04rHAZSG4K54SivhZ+29OzrpaXqB5ZWOc/5CrKtRRQpTCjF5xwEwKd92gwxEywKZz4LCLa++IAN8FtgB/KuzdPVzeZtHho94vt4X47QssRC3egSScr/kDbHbTuZSXzR0Vf+pNsFktg3hNalFtdMWgbMOAYUC0iN75P1HXvZukJtDvxjkZ5ilgX30epH8 BuO2sp3C OX1R2YBJJFy20p548AbCtWXopLUtSTHSdXn+SUkKxCGGD5fWvTl9hosjzgpaChaig1GXXmtvmp/n2d8w0P2/N9faB8D1qCzMd7LG7CLSA+t217hN/8QQ7lybbVxTFiBgim/intNigtGAIbLYl1rEZGNu3XaDdVSvET7J6LV9YgGXspXBpD7c1iOwVsWVKbKqLKq3JFa1EQXO8m66mixp6AMswpQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Wed, May 21, 2025 at 04:47:01PM -0700, JP Kobryn wrote: > > > On 5/21/25 4:33 PM, Shakeel Butt wrote: > > On Wed, May 21, 2025 at 04:23:44PM -0700, Shakeel Butt wrote: > > > On Thu, May 22, 2025 at 12:23:44AM +0200, Klara Modin wrote: > > > > Hi, > > > > > > > > On 2025-04-28 23:15:58 -0700, Shakeel Butt wrote: > > > > > Please ignore this patch as it was sent by mistake. > > > > > > > > This seems to have made it into next: > > > > > > > > 748922dcfabd ("cgroup: use subsystem-specific rstat locks to avoid contention") > > > > > > > > It causes a BUG and eventually a panic on my Raspberry Pi 1: > > > > > > > > WARNING: CPU: 0 PID: 0 at mm/percpu.c:1766 pcpu_alloc_noprof (mm/percpu.c:1766 (discriminator 2)) > > > > illegal size (0) or align (4) for percpu allocation > > > > > > Ok this config is without CONFIG_SMP and on such configs we have: > > > > > > typedef struct { } arch_spinlock_t; > > > > > > So, we are doing ss->rstat_ss_cpu_lock = alloc_percpu(0). > > > > > > Hmm, let me think more on how to fix this. > > > > > > > I think following is the simplest fix: > > > > diff --git a/kernel/cgroup/rstat.c b/kernel/cgroup/rstat.c > > index 7dd396ae3c68..aab09495192e 100644 > > --- a/kernel/cgroup/rstat.c > > +++ b/kernel/cgroup/rstat.c > > @@ -511,7 +511,10 @@ int __init ss_rstat_init(struct cgroup_subsys *ss) > > int cpu; > > if (ss) { > > - ss->rstat_ss_cpu_lock = alloc_percpu(raw_spinlock_t); > > + size_t size = sizeof(raw_spinlock_t) ?: 1; > > + > > + ss->rstat_ss_cpu_lock = __alloc_percpu(size, > > + __alignof__(raw_spinlock_t)); > > Thanks for narrowing this one down so fast. Would this approach be more > straightforward? > > if (ss) { > #ifdef CONFIG_SMP > ss->rstat_ss_cpu_lock = alloc_percpu(raw_spinlock_t); > #endif > > Since on non-smp the lock functions are no-ops, leaving the ss cpu lock > can perhaps be left NULL. I could include a comment as well explaining > why. > > > if (!ss->rstat_ss_cpu_lock) > > return -ENOMEM; Include this check and return -ENOMEM in the ifdef as well. > > } >