From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (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 82A5F3DA7C6 for ; Mon, 11 May 2026 13:03:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778504586; cv=none; b=FLSzFFWLyNHOmKeva2J1BDREl7UTyWdSs2GRIq8p39x5ZxwgvztfGDgcLw3AXMin0x3ZdbrXCVJ3+flWfbYwJ8sIbX/7ASjRfrWK+KBhfYVGQUfuRwmGcD7pzmHOzC/Z44MJSuDSok8M3dKphwUlHvOb/JssF9e2DF54tCcJwT8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778504586; c=relaxed/simple; bh=x4n+alJNf1wutc9hvHLxsSeg5QHkFtRN1PEGdBHElIA=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=UXatFjE5SrU1xc+1q5zD/T1mKoTMy5PYBjiRqmP2VwM/bIrNq3YdDofs0WZgSdh53iPsjEkmVMxSytrAZmHuMN6hlx5AT6lAuVRXiugl4cYBS0kvsdZlRGrOTuIEOAEKHL3BtsAiNQ1A6VK6dh4u7JD7u5Mgc5Dew4OD6QQzUv4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=cPqtpnCG; arc=none smtp.client-ip=209.85.221.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="cPqtpnCG" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-444826c16ffso3766721f8f.1 for ; Mon, 11 May 2026 06:03:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1778504583; x=1779109383; darn=vger.kernel.org; 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=Cxhetvbt5aC7n/fJp1v/wYxNwfJm1Klb1mbxzE4ftzI=; b=cPqtpnCG94gRkRZQmjwfgkomSJKrQ4OfVZVzBIWjUdRcaR8VqLuTFT6/1Cm4UH/p4q koSGENlcPOoBwMKb4ZLaGMvMm7o7sXxlV0W1liDXkIPkz0jdXCBN4fxh27X3pwY5v9/z TuXy/pOUOGPb3UOZnbbNMgaH9Z/IHx9Y/iYF3IWgvO0zdlxs7qiIgsejQZwlwl5VxU4h Teafsdd06DQPrQpURARAj6Wswr7vqF4LDJhF6ArVI3Sh9l2wy7inzNktVUFx9wctvERe ZrWlzovGwxkrKxTMijXsEzlmrkJfhMTG06rBYt3mefD33t7Q0Uth30nxSIS6h26llqrS KHMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778504583; x=1779109383; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Cxhetvbt5aC7n/fJp1v/wYxNwfJm1Klb1mbxzE4ftzI=; b=KZ2xP/NRBV6koUcTxJzPH6o/Sp8qs2tCuqVZAA0kSxvM6Kbnf0RWiC5Mq4YDSkWwh5 ttltsV7dvFKSEC7ixGnEMZv+Z7dVeZtU/LKAlWfARomtw83xrWUWHrceyCb2TtEGEevo FzkA94Py3y3u37nHgX1aA0umdIxJ0Pclbjk0hdnhvldreEoMCpmUB1hVoECcHq11LC3s ce1s11xoEyLIMSSgQdW1sPhazbCXNhTm6HIR7qRQcPQFxpgHrzdeZXR7lP6zcbvJFm5O K2Cil4HhH6OIeuezAjZAqUHvNZyFW3H+ZVeUb8iCDc9SMZE0WMpxPKczYywuWGwgcU7e vbWA== X-Forwarded-Encrypted: i=1; AFNElJ+kIxjc4JRl0/I3w2WuEHVU3xmzrzDF1yBMGqdANhcyUXK/I5D+Gg9v9fZlF6vtvHBo0JgVhOa1ZcDMoUo=@vger.kernel.org X-Gm-Message-State: AOJu0YyxlNTj7TPK+zLZp6OwPqQ4IOWkggAAVsT3HaJT8ibG2+wIqrMx oLkYxCa1W1if/r0dCthGmaVLL30+fhK9Y9NzWBFMtTsAz2MNGX4hoxkaC/QPcPekQ9I= X-Gm-Gg: Acq92OHrVFXgbdG8geQ1yEBE41EbaQCSp5wPx3BQVjqgNIGyOwXMDSXrp0appnkO8iT I3YXgKbycoNmy0X2I7BforK6TVR4fE8BKgBgnX6pza8J0Edo8rG7LV7xgWk9LAyi582Kpf5Tn73 eNdPwapdTzlKHrKXSKY5oDeCvIUwQbR0JsAhV2UZ1PM56xxR9BHDNYS7KK1X4LE8m+JFFwr4k+T 6FVNxSqJzBMnsf/Nn1TqQAE118C/KnItzQoLi+CPnXrc4ZZWlYD1U2clGHGxwOblUp1YOnOumIW HatRdZ9PIoUqorLAcrHPlo+LIkmvtUEMESqFR9DVxdW35V9Ms2QElnLjeQhg73rmAe4VkKA88/W b4i9lVHqR1wrh67wWxPTnyNnfw+iQuQkL1kkEcWtjlLdrPMMckkl2fktaJx4HS9+1nHd8+HGm3i hDKyNwpT6pAVTxeDegENfs5ZB7FvOgpDowGYgc93CYrD5S47PX X-Received: by 2002:a05:6000:4203:b0:441:1fa5:457e with SMTP id ffacd0b85a97d-4515b61a4b9mr36482771f8f.13.1778504582762; Mon, 11 May 2026 06:03:02 -0700 (PDT) Received: from localhost.localdomain (nat2.prg.suse.com. [195.250.132.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4549120eb95sm24633058f8f.20.2026.05.11.06.03.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 May 2026 06:03:02 -0700 (PDT) Date: Mon, 11 May 2026 15:03:00 +0200 From: Michal =?utf-8?Q?Koutn=C3=BD?= To: Guopeng Zhang Cc: Maarten Lankhorst , Maxime Ripard , Natalie Vock , Tejun Heo , Johannes Weiner , cgroups@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] cgroup/dmem: return -ENOMEM on failed pool preallocation Message-ID: References: <20260511013150.7235-1-zhangguopeng@kylinos.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="6uinpelgye7jcdhk" Content-Disposition: inline In-Reply-To: <20260511013150.7235-1-zhangguopeng@kylinos.cn> --6uinpelgye7jcdhk Content-Type: text/plain; protected-headers=v1; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Subject: Re: [PATCH] cgroup/dmem: return -ENOMEM on failed pool preallocation MIME-Version: 1.0 On Mon, May 11, 2026 at 09:31:50AM +0800, Guopeng Zhang wrote: > get_cg_pool_unlocked() handles allocation failures under dmemcg_lock by > dropping the lock, preallocating a pool with GFP_KERNEL, and retrying the > locked lookup and creation path. >=20 > If the fallback allocation fails too, pool remains NULL. Since the loop > condition is while (!pool), the function can keep retrying instead of > propagating the allocation failure to the caller. This implies that it's OK when the function keeps retrying with allocpool !=3D NULL (and repeated WARN_ON()s)? > Set pool to ERR_PTR(-ENOMEM) when the fallback allocation fails so the > loop exits through the existing common return path. The callers already > handle ERR_PTR() from get_cg_pool_unlocked(), so this restores the > expected error path. If the callers can handle it, maybe there's no need to retry at all. Perhpas dmem fellows can step in here. >=20 > Fixes: b168ed458dde ("kernel/cgroup: Add "dmem" memory accounting cgroup") > Signed-off-by: Guopeng Zhang > --- > kernel/cgroup/dmem.c | 1 + > 1 file changed, 1 insertion(+) >=20 > diff --git a/kernel/cgroup/dmem.c b/kernel/cgroup/dmem.c > index 1ab1fb47f271..4753a67d0f0f 100644 > --- a/kernel/cgroup/dmem.c > +++ b/kernel/cgroup/dmem.c > @@ -602,6 +602,7 @@ get_cg_pool_unlocked(struct dmemcg_state *cg, struct = dmem_cgroup_region *region) > pool =3D NULL; This 2nd pool zeroing seems pointless. > continue; > } > + pool =3D ERR_PTR(-ENOMEM); > } > } HTH, Michal --6uinpelgye7jcdhk Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iJEEABYKADkWIQRCE24Fn/AcRjnLivR+PQLnlNv4CAUCagHTgBsUgAAAAAAEAA5t YW51MiwyLjUrMS4xMiwyLDIACgkQfj0C55Tb+AgqmwEA5wxJxSP0xvsQWLhF6DF6 /dRYA2b3b0PxB8id+ffvCxABAJ76IV2uz63OS6i6C7A39HK9vC4KPqs7EQ8Gzz2K YGwJ =8kDw -----END PGP SIGNATURE----- --6uinpelgye7jcdhk--