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 953EFC54E65 for ; Wed, 21 May 2025 23:52:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 30FC56B0083; Wed, 21 May 2025 19:52:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2E74B6B0088; Wed, 21 May 2025 19:52:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1FC586B008A; Wed, 21 May 2025 19:52:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 0241A6B0083 for ; Wed, 21 May 2025 19:52:57 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id A4D335E8B2 for ; Wed, 21 May 2025 23:52:57 +0000 (UTC) X-FDA: 83468567994.28.750DD50 Received: from mail-pg1-f181.google.com (mail-pg1-f181.google.com [209.85.215.181]) by imf01.hostedemail.com (Postfix) with ESMTP id 90CCC40005 for ; Wed, 21 May 2025 23:52:55 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=JjQYkvee; spf=pass (imf01.hostedemail.com: domain of inwardvessel@gmail.com designates 209.85.215.181 as permitted sender) smtp.mailfrom=inwardvessel@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747871575; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=tv8ABiZjTSsX7/N5+xUlPIqutk3RS4YiHeo90v4eMFk=; b=0ZIg/58eqWQNes2RXVzXG578qLcnKDPNTtmozhoo1qJZYdxKq06z21ZaJMzHbe+9yd+Urm gZHRYkcI1ZKHpcUNv/i2r+zDhI9YowXT2pvicLW2cs6mbQpUJP9C33ZL3LVaIgS9yJAz1R j69Kut4LDtvH20vfggM5Lik8hNct5Eo= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=JjQYkvee; spf=pass (imf01.hostedemail.com: domain of inwardvessel@gmail.com designates 209.85.215.181 as permitted sender) smtp.mailfrom=inwardvessel@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747871575; a=rsa-sha256; cv=none; b=zsCqZb+yfw7vaUAvHt44EimFpCh5AdILml2ySHlii6Okvq88MWBqV3TZgTroctUCCUM2I6 oG2x5RgXZEi/ZAAas4XKKXjjRGktICWNKCmv8hpFz2sbG7mW7Z3dH6AP66lE4dpuHUar5W EcdvUSmyWEvBTOLlb5zcLOxBuVXUic0= Received: by mail-pg1-f181.google.com with SMTP id 41be03b00d2f7-b26ef4791a5so6028363a12.1 for ; Wed, 21 May 2025 16:52:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747871574; x=1748476374; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=tv8ABiZjTSsX7/N5+xUlPIqutk3RS4YiHeo90v4eMFk=; b=JjQYkveen2whHIwfzbW+XHctAGwkTXaaYyhmACK3nk6/3N7vibW6PIuztoEhvrMGRM IyxzgMmpphzTdSrh2iA4yc7WwW/yx7SC4rAT0EcOxdnj3jJyVHQA5AK90/MRjMJzs9cM hwrodjLDTufcRmTMQSQ3uo/2OcdII4ufvd3rDv+QmqEa0/JJC/LYEoU6aOa56GkChQVh miHnjA5BLFThAOjrdwRx9UuqiRB6e3ILJR7OJaK2WoTfQJTsK8eTAXq6PAtsUcuj19Yy kvlolKg6eX0zNsOD0e+REJY2GPnSClAEPNppvc2sFLG+AisEZN1HiT+OawT4qwXcvXFt R5+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747871574; x=1748476374; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=tv8ABiZjTSsX7/N5+xUlPIqutk3RS4YiHeo90v4eMFk=; b=ClB+y0MLNpbB2Y2T/8/qSgyOsCWBSnZlmCMu4AWU//MdklsRsq7lEmGk/0fMpU1T+/ 8e/rjbJxn1GYCSVNUWM21oB4Ok30qtjquLsaURwmVADdwzokCp9f0fVrBrdSnrfUUjwL WOP887D1cfNSnLaebv8BBGptKMghKRrqwr+XsOQjPx4WywkybJ0z0dzNt6NK0BIxDMX8 5MWy7DpVBujGAHZxOy/mGgUP2Uu7N7O41iMnANDA9JtdHEMfH/ibXmOs0XBFioS1a+Vd mYqwd9/HcRvzxSkuT7wB0H96769svPnOelFdsWJDDdESNVxcGAPESV0d8fHuhI3mhhJ4 1jwQ== X-Forwarded-Encrypted: i=1; AJvYcCV5Prjh9UcLp9mQRpezmZfOyJ0Q5uqIlcABDrVLJ4xQvfIl2A5XMImcDxIMQB8xJzhA6BnKVSFtWw==@kvack.org X-Gm-Message-State: AOJu0Yx7uzDzbwLB6ybuk39+FM9CFJPZwGPJwanwdkm6nqa7m6U+VB67 ZDdpJsNMl/Amdj/AgnACZnSRF6inkTnp8LyvfC4M/NifooUbFVXm0pnP X-Gm-Gg: ASbGnctTJTdcDgcLHL4kL2vWAYhVhvMDYaIZThlTIlYxYvuN+ORGMZlTgqIc/FxOt3g dCAaBQm+tZlF0TmiSb0V+K7ByRZDachVpaYw22QwmYnu61h2+Bj4LBH59S0e50/EpRPuIrlW+o5 n7KmvQc3Z6pFL47jF6UyfHyfw2DA8CMVpntcDLiiTTNzjcm9oqdvFQMVHLb+PmCQKHs6tGhw9o0 rLDZJD8XvRjg3zH3gWsYWQ3sIkaSdD9nomCFd0KDyHLKl7mfJc2mv8qwSRil3yO4bDknWgxzyAE 9sSBbfBgqkN/axZTRJRjx+qZf/okVoKVHEAgxEP6PtrNxtPJMiTzYkKt/81DJrr8B73atuJw0pf 1vZ0cPSdQXpxNzVCNDAtxrw== X-Google-Smtp-Source: AGHT+IEhRtWayz2wO/NANMbY77CLzICf7dbwLdeAITjL7G45qTo7ZKomEFbV0bEm0TWCBrjPtFfTWQ== X-Received: by 2002:a05:6a21:103:b0:1f5:7c6f:6c96 with SMTP id adf61e73a8af0-21621902a69mr37008453637.22.1747871574344; Wed, 21 May 2025 16:52:54 -0700 (PDT) Received: from [192.168.2.117] (c-67-188-127-15.hsd1.ca.comcast.net. [67.188.127.15]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-742a970c86asm10504612b3a.57.2025.05.21.16.52.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 21 May 2025 16:52:53 -0700 (PDT) Message-ID: <71f67d74-c2fa-4ca3-9bbc-7f239f24e97d@gmail.com> Date: Wed, 21 May 2025 16:52:52 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [OFFLIST PATCH 2/2] cgroup: use subsystem-specific rstat locks to avoid contention To: Shakeel Butt Cc: Klara Modin , Tejun Heo , Andrew Morton , Alexei Starovoitov , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Yosry Ahmed , =?UTF-8?Q?Michal_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 References: <20250428174943.69803-1-inwardvessel@gmail.com> <20250428174943.69803-2-inwardvessel@gmail.com> <9151095d-98dc-4497-9a64-b2eb7f8f96ea@gmail.com> Content-Language: en-US From: JP Kobryn In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 90CCC40005 X-Stat-Signature: s31sghxngefcumt9xe5tbtwjr6zhif7k X-Rspam-User: X-HE-Tag: 1747871575-421877 X-HE-Meta: U2FsdGVkX18yMs4OgF0/lqaO9UMygWFiT7LDnOWsVy7AtOSQTP7kPcOilAbXh0xqQN2OCUBx16yvZddF6ZaCDeycnNn808jOM703aExyuvl5yL2cJssam9AZElqnNruW0clBPEtKpP57O6KDd+Vu+xUyMnanXuXgcqz6QuYkMhxDJu8uHKS92c6zmbAxFd/cnjV9oijVIYQQuukPaqkdH2kxlyrNRGVexC3IFzepvl07gJYS/717mNrRZM93qWnG1/w66aoT5DEU3cq2mzmrgFBvzXAfLCNLRvHzi90ogJ/0T5sBde+z82FUiE5Ix0bPnMC5/fpXvyUljI4MgfI6d36Mwxt2fsnjLe5vi+wtA67cZKj28JWsuEN7kbTOGhwAPoo+hSb/lzgYUO33yO2/MRngjOgneBX6gRmiavn2CJ05fGL/a3VTk9NBo0gtmQa6vbuTa/dgsLQvCtTu4E5y7nbH5xRLgr8osPGlzIWrerUwcQVNLzJBP5a4JDi6NYwAZP7R5UDA8a+c7ra8sKEaAB0XK7G56CJ2l2uIlUByNhGUCZsXAFze7F9KiS72X5Yogrll9ieXdHXxLs6I7/GOSj7y+1SoPUl3qLmofx76abE29kr0Mr4O0bnH6m2dxFxBlvPeYCaq7NyssQ6+2Fm2fRjaagx3xEtGZ6UgaYsbiBjfqe1A07at1zzIDeAVrphJ/6HBH2aiUkGWByQdu8wkiqL3sznKh1ziYpK3dr14Xcmy14MdbDBANuvtpPleEi/5lN5wJfsSB9Yzppq0gtGwNECKQTO8O7X+CjBoQPtav5wCOxqpWwS9PSLiyOoBpA+DUnS1tVkJf8tBaNyPOhgBpczYbLCy7kcgsabY96RaPjoegCD1+NVdbFoJRlWbuQPgcxTuVjpuferEyuH+qmezqKJwrXyiGbX2kRcnaOww7cMrpy/G6JAwvpvZAnzHZiM8Eyaav16KxCXqwd7UWaD iZbYwuAZ sNi6bfgYomcpudahNrxLwoK3Ldn0kJvWEX4JekOby7cwBCeILXp0/gj4K8d0Al6gEiBtidsUbcS4V9p87zEFOEQxB3safBQo1bP7ir9qJRgp6/70ZF3ULtbHY0jRrP9nFbc5BmG8VxZABcMgVORuBacqp9HReNiGxpiGmuveqy9dl89FyUczpzJpZXkvTZpPmPLBHXWCspKTmDbQZbeuwOnKHo1yJl/ZKLFbHkqaOmNeRFairda5b7hgMqhyXdFmbSKFbpzRDRTCPtcFjst+JhSwEQbw+Iv3g7PQgjxflf76NImo0O8O1O9g2zedD2waBpmo2TQd6Mp+98/9H1qDNDA2vD5i4sakV4NMkgY6kWvwG1cpHBRPQ/cklVlqr4QgxZPUI3rSuX68zfJhpvzPXPsZxPQ== 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 5/21/25 4:50 PM, Shakeel Butt wrote: > 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. Good call. I will get a patch out tonight. > >>> } >>