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 E35AEC54E90 for ; Wed, 21 May 2025 23:33:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 274A66B007B; Wed, 21 May 2025 19:33:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 225A46B0083; Wed, 21 May 2025 19:33:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 13B966B0085; Wed, 21 May 2025 19:33:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id E7BAD6B007B for ; Wed, 21 May 2025 19:33:47 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 8DA2BBF395 for ; Wed, 21 May 2025 23:33:47 +0000 (UTC) X-FDA: 83468519694.14.71F57A7 Received: from out-174.mta1.migadu.com (out-174.mta1.migadu.com [95.215.58.174]) by imf18.hostedemail.com (Postfix) with ESMTP id AE6D11C0004 for ; Wed, 21 May 2025 23:33:45 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=EH5EUkuE; spf=pass (imf18.hostedemail.com: domain of shakeel.butt@linux.dev designates 95.215.58.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=1747870425; 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=DxBHcO2OStLwZGLgLdCMqlriVkxYivQ6RlwIYKIM/tc=; b=nOquYBivJRQjxcDIAijbRd15THfQSwoMaTNXp2kosmsnv+fffHvMSTPj1R5WXODqlU+hZG Ta+wAOdSsM+Hm9m36DqLzr0UYxGpP2XodfLhOAooj5oB93DQ0Dbiz3eQxhU+akRhZU0V1g ksYxO4Fy+ct5DgnmBxSCLrjCj/WMfjI= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=EH5EUkuE; spf=pass (imf18.hostedemail.com: domain of shakeel.butt@linux.dev designates 95.215.58.174 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747870425; a=rsa-sha256; cv=none; b=eTjaZOAJWzKVkgdmHct4TVyt9JxtRJFv9eVtc30oCf/0FcbwCzdFYDiBy/niLigVCwalZY AQWF6KYenN0NOLbZze2wXzJlyDMEqBTiHufnakG6IPKZ7IDfOfGQbXE3xybh3JKWnzWNvW YUHdFsONCleakwzS36i3fr0pGatlqoY= Date: Wed, 21 May 2025 16:33:35 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1747870423; 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=DxBHcO2OStLwZGLgLdCMqlriVkxYivQ6RlwIYKIM/tc=; b=EH5EUkuEmwWVmqrUOXyVACQnMwIjko7zqEz8WjuYyHPBRP7gLyO4t5VysG2Tw1KFk0mQyp nGu1pjABkI4+QKpDvhF7jMMXWdZdXv131lPPGi6OLeT9ZgvK4+KVNoiHlZ5ea9o7V6kf81 S8DbSMEk8ZfouCXwhwKrn4eDXE9Uef0= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: Klara Modin Cc: 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 , JP Kobryn , 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> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Migadu-Flow: FLOW_OUT X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: AE6D11C0004 X-Stat-Signature: iygcqfcias7iofji19bkxu5jqbjbiwe7 X-Rspam-User: X-HE-Tag: 1747870425-216270 X-HE-Meta: U2FsdGVkX1/07ILRFQgGaQZ/MX3D2U3FGVQXZUSMu+ma++/wE8Nx/JNbubJl/ISQkaGWd/tBGqhnDWek3jLReDv7CTUFPtr2WVCc95O+C+4jNg7XjV6k1i6CqxiJNndO0FkOcCy/QHrDaDnkxH++J5TMZL+EsVSHn5acjwDYDcH6IFpfVgoVQPdqAhbEXOln8XCQmX2B3Ut0oKFxLGceYf0r+nnfpJFZqnXjAAkXPlzx5cBrMglUnZi1qk51xgSxz8wrhmQcZuOKyzlMtpr+TjouuguPDvrBZ+Cn9BpErFPuP7BONKSgYVTs3NFGfjm61pvf4rY5+LVb5vnK7Qvyn53kYxrPjztzPuFZ6C7ocTQLhRO77s/koC3dbNzaKwq2qIZMxcTnl4uz9Ptdq3U9HrWBHeH1SzZnF1B2TnbgafFsTG3kIduIfe5RANV4bW/dLQbIe0YLuujkZoqj1LWAvhYJqjSgAc0t9kHMA8ENxAhO1re3G2Te0b4WaH5mf8UJqbexzOSgHYWr+39jbAP/kh+D4mIBhuymK27PYYhXA+21/BsebptgqJdb1tllM/HXk6XpIkYnPKFeKmscC6D/1uaUbPPk7OWpGgvVYxJ1s4xWID18ZPnVa0647AhtiMVIj7wdA9n9Q0DfII9hVrROc+BI26DcKhPkqHlM0LgUoCSiQE4nIGKH3SnvzBb7eP24rwT7R+AkZ2NMy2/6926gKzRgs/YkxVE1nMFHKX1FZfdaOM4HGmJCvAR2xtAQCl4Uco6GjTwCtjCf/MjqCwwaz1DNvw31jDgbYknInBA2Pm9RzXGOD7qLjHECOQi39R2ar0JHcCzvVtWg+eeZ1s85jE18YG+FCvutT8ZPwoUm8NvyB6tCqpmJVDp9akWX/5bPydVAkzO9XB2qyBjHIGl9lwa6djQWoRuHoz0lkpEKOzRFqh2e+GTYvr3V6i4gmfK1PDO/f9YwepOQUIE5/Hc L6P3+m3A DBECDQtKhfWl1AYW7/Z9Rjki/x8vpWPRY7/vNsMJ5KrEdh/GVuSsyj3wAtxm9py4aenSr260Xnu+q8+7VxbVPC2kKHqKsUaJqLJbhT4VDJa2jrnJaKIlDmT2JFoc/6lsp0KE6q2erb1EVsBiO5PTgmq4l7MjyFZrQRMpkijDlaH/P7iDEFA51jcNL003ty4wBr0ab2rLszBSiQyylzMStUt4lHg== 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: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)); if (!ss->rstat_ss_cpu_lock) return -ENOMEM; }