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 D224BC52D7F for ; Wed, 14 Aug 2024 09:00:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4ED2B6B00A1; Wed, 14 Aug 2024 05:00:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 49E876B00A2; Wed, 14 Aug 2024 05:00:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 33DD06B00A3; Wed, 14 Aug 2024 05:00:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 13C036B00A1 for ; Wed, 14 Aug 2024 05:00:28 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 96903140CF1 for ; Wed, 14 Aug 2024 09:00:27 +0000 (UTC) X-FDA: 82450254894.02.14E3F3E Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by imf29.hostedemail.com (Postfix) with ESMTP id 98DD712002F for ; Wed, 14 Aug 2024 09:00:25 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=HMcZYPp7; spf=pass (imf29.hostedemail.com: domain of mkoutny@suse.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=mkoutny@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723625930; 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=pteG83gVaufdudJefczaWE/asvX/A9MjU7KHPVY3kzA=; b=DNqDmqQdp9RY8aSHwJggyDNJQofa1N2rj64+utYa3Fs1gQNkTQ7gJ7J1smq3X4JXLyFols /Eh+mpvGKJ6S3mACboWUbic1PFRYUh6yz82jskRORWvTTCbXB9ztAkIjJ8GmasW22LmAS0 KkX0J8RDXxPzyHPjlTMXT2scF8tX4J0= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=HMcZYPp7; spf=pass (imf29.hostedemail.com: domain of mkoutny@suse.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=mkoutny@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723625930; a=rsa-sha256; cv=none; b=lnnJM2Dh4wimr9tp6mUJboMoX1i9QHWdKxQhDmUGZsD1VFzmT1IHTim1Nl9YydUfUUWcD0 5pjAoc7+NzdSX7Zob+yZs2DLNtN5WPVlB/XCbpINIkJqcUVfQaH+/XrORtgPgWysJMkOkV 1mXNHScmB6TOHKLTDZvfSSoAFGu0FEE= Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-42803bbf842so62884505e9.1 for ; Wed, 14 Aug 2024 02:00:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1723626024; x=1724230824; darn=kvack.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=pteG83gVaufdudJefczaWE/asvX/A9MjU7KHPVY3kzA=; b=HMcZYPp7oAS8gngPVlARdEpAT0QEp9W304VoqrVZ1nG5hCqNVrRFaVa+RQKB7QpgBq 2y46xAZDgucwljPAQOEo8XCSsYuGroFIW+Ern4S+M2IAbzPqzo/aaVJA8Yh8N/8O32Y0 PiA1QRvXWezN+g/JKssvJcI9LmEbQEh/zNEyedB3Z0WCKvEXFFXhRkMCpzC6bvM8RzL1 AHsZw+sQ45FY6qnNttgq7cl/wCorbkj0i6VA9AqrDhHd9B+3m3qBc/e00knnAVYUX2Te wcXs0YozauNnK83bzE/VZ7MlwEvVyLqw1p70lFkc701R3GcTvgnRy3iZF1b8aZzuoOTH +Dmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723626024; x=1724230824; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=pteG83gVaufdudJefczaWE/asvX/A9MjU7KHPVY3kzA=; b=DpzJRqStV0D+TgXKtcI2aJN/n2IPrC1t7+2PYnSdM/7U/rpLurycqCbn1uJqON1Kky 7MovYwuJn5Eh7Uvjyiokf1SkAbCi4GwV2RIyWcsF3afSJbaGYlQ4rRvrD8iQdffjqLPe F88boRjBM7O2TC+gXR/VmTwTD3xWSM3ipOaRU5g8MjaJiX82Fg0syndIHcUcacfnPTx2 pj0F5CWe2Vg4t58YKmud8szWk2OAmA2AnoWKK7e6uVxiAEWXhZ4P8ZT/RxYVNvtPIYLr eL/dITOvf/lJiAnlJORt9Iaq2n7OFZgP2Xb+I4YfU9BjuwdEV3t2TyFAkc0rkOdwXnp2 Wf4g== X-Forwarded-Encrypted: i=1; AJvYcCVdbisIX5qeYqD5WdB7E5K/dr7f3AqerZ+AOTAkVhwgvgtWl8/w4RodxsP/g4/oJWGqQEbX3kUPcoEjcdKq8ZojY48= X-Gm-Message-State: AOJu0YwzBLQeIr0xnL24IujavTESX3dhP2zUMRMz/8Q8Qx+ZbifAPmBO RumEqmsL3GAneqMjAYnFrxMQYcaPmiTpRJAXD6+CTrCtJV6W7CDNRfDcjmENqUQ= X-Google-Smtp-Source: AGHT+IEfaKgysHFnacwzzzTQKgCJVEmQuk0aPxOC7j04talTUiUX34+7xIMMplZhDYBWthouaVkhBA== X-Received: by 2002:a05:600c:4706:b0:426:6fd2:e14b with SMTP id 5b1f17b1804b1-429dd2365c1mr16103745e9.11.1723626023923; Wed, 14 Aug 2024 02:00:23 -0700 (PDT) Received: from blackdock.suse.cz ([193.86.92.181]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-429ded31e19sm13324485e9.15.2024.08.14.02.00.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Aug 2024 02:00:23 -0700 (PDT) Date: Wed, 14 Aug 2024 11:00:21 +0200 From: Michal =?utf-8?Q?Koutn=C3=BD?= To: Kinsey Ho Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, Yosry Ahmed , Roman Gushchin , Johannes Weiner , Michal Hocko , Shakeel Butt , Muchun Song , Tejun Heo , Zefan Li Subject: Re: [PATCH mm-unstable v2 4/5] mm: restart if multiple traversals raced Message-ID: References: <20240813204716.842811-1-kinseyho@google.com> <20240813204716.842811-5-kinseyho@google.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="7u5m3mmofm2gmeqj" Content-Disposition: inline In-Reply-To: <20240813204716.842811-5-kinseyho@google.com> X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 98DD712002F X-Stat-Signature: xht15jkjugehgpkeqmrqtkbtic8wbedu X-Rspam-User: X-HE-Tag: 1723626025-545800 X-HE-Meta: U2FsdGVkX181hrUJPSTFmdmafpFaTH1XBLsvHoj4Em/ri/fT1+T3jXFzWHp0xfGV4Khh0C3ZutCoY9yev0ijaRr08AA8uy0WBt2ZQkMj5j9a1iyTn0iIf9BVUScZD+SSF+8Chr8vKgo1nXllVB0ekbdgfI2ZQJ5VQEBCz1PeJL/jTLIn7j0isQMeVByA2PCD7uc491jtAhDrl0OzYvAh34IgjC8bjgWQa7EWMG0kv6JcgCGLs5TAuhtpuXCqmOojyJwDA/g5lsQhaxFTfcpuE2Mjx9M5Ix5VThNGUlgHjAgD88XZIeTPPXUyyofCbQw2d3n8kjCsEXJJUyr/kmZtBeVXiWHFmfac57MzCzjLHX9SHttNWxj2KjOAalnkZNvxI1TedI7MipJkFKsQRaJ5KBmUFeu/+L0AeL4NPDMABgMout0W7mAP18nfBZ83wjdrYqaYE1oHE7BqRd0impUfqfr0o1Z+iHny1GCuOhYzqX/cQ+NONaqiT+dIOeM3EWtUMryfo2sMWEvkkqJ+s1ljtD0un1FKVLazTeOhMC3dnIR4ZC0i+CB+Ia1WDQwOpKK6f2ltJ1nxC/gKF+oxugrueDpUsCE7pHlUQy9wh70U25kK7Js1KZ6OLyBedXz8afRujYQDPXmh497fYJQKpVCF6ty1N0lpB4FEZ0WPTfyGDXyY0eVW/APbIgqHnXPoZ/pr2ibAjXiFD4IcOIvMl91w12HM+0vOxMh3NSvjHz1u/TgcsyEMX3yEZwJ2sVnUYweUBeZNr3VT96Ey46p/BIoS9Ro1WK63VcXjO9BTg5Rpu2n0qxBagWV9M0uTTlO/A2Z8amHznGdQTNtyE0PTMfgsqHXjKb9gQDXAAHxTiSHqlDF2Y8FZgfad2j5JRpAQ16nEsBKFdP8wvE2MD0iw3KZydW+WUrxY0UP6+PVmEqt//YUiPB/L6gAyZVXFWbjHcW6EtkFNEOzyCG+jzw24XYG chmu1Ifk AHdTNpBHjjRjtGylQjMOxNytf+J8b9lYJRy2Jm6CQ3qqwmf3wRFCORwu4Mawl9QAcMhSwq3m4fYlfuiVf0cTVP8++TYKBmNLK0wkz3zOMTIs0RzWcIVSaqUdjf0yDXKzFXY8zcKE1bC6+mdE25OchUolFi9lFYArMOKFOu9SF3Dl7jdJCUcSIFjgduP6deEJfbmryaAxuUCS2crQNJjDWHQb15cmwjWhxnma2bd3KCnbYIEoHKlh69E67WmTAZOcEF4vsZrgcU0uMOmcLPG2C41OXk+dIKKu+mwfDg7FgZjLsvmKGBLg7ZEWn0ko4Z+lFzcLCwiSJfuV4UIHMj7IYMtXt6WxhujcXqlMor+S7Y8HQioY1GAFLkcVXQbsVEHjQeVAfzVLD32llLEMXasBDzY77sRrvgfSrgIneg+MzL11ZUwS03ze1pBdSxw== 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: --7u5m3mmofm2gmeqj Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Aug 13, 2024 at 08:47:14PM GMT, Kinsey Ho wro= te: > @@ -1072,21 +1073,26 @@ struct mem_cgroup *mem_cgroup_iter(struct mem_cgr= oup *root, > * and kicking, and don't take an extra reference. > */ > if (css =3D=3D &root->css || css_tryget(css)) { > - memcg =3D mem_cgroup_from_css(css); > break; > } > } > =20 > + memcg =3D mem_cgroup_from_css(css); > + > if (reclaim) { > /* > * The position could have already been updated by a competing > * thread, so check that the value hasn't changed since we read > * it to avoid reclaiming from the same cgroup twice. > */ > - (void)cmpxchg(&iter->position, pos, memcg); > + if (cmpxchg(&iter->position, pos, memcg) !=3D pos) { > + if (css && css !=3D &root->css) > + css_put(css); > + goto restart; > + } I may be missing (literal) context but I'd suggest not moving the memcg assignment and leverage if (memcg !=3D NULL) css_put(memcg->css) so that the is-root comparison needn't be repeated. Thanks, Michal --7u5m3mmofm2gmeqj Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQTd6mfF2PbEZnpdoAkt3Wney77BSQUCZrxyIAAKCRAt3Wney77B SYKsAQD5fmVCdF+nm0mGrmT0+x5ogK2m8VCEriQpCK6PmawfwAD/Y5ceRaiYsOrt WpZ551lbq/yPf1Dnfxl8y42Xq+Ogiwk= =Q7ol -----END PGP SIGNATURE----- --7u5m3mmofm2gmeqj--