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 76DF5E77188 for ; Mon, 6 Jan 2025 17:48:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BB8196B0082; Mon, 6 Jan 2025 12:48:37 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B68B76B0083; Mon, 6 Jan 2025 12:48:37 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A2F926B0088; Mon, 6 Jan 2025 12:48:37 -0500 (EST) 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 868876B0082 for ; Mon, 6 Jan 2025 12:48:37 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 32E2E427D3 for ; Mon, 6 Jan 2025 17:48:37 +0000 (UTC) X-FDA: 82977761874.02.0E91E38 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by imf06.hostedemail.com (Postfix) with ESMTP id 1DF3518000E for ; Mon, 6 Jan 2025 17:48:34 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=KMsnTaxr; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf06.hostedemail.com: domain of mkoutny@suse.com designates 209.85.128.52 as permitted sender) smtp.mailfrom=mkoutny@suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736185715; a=rsa-sha256; cv=none; b=vYeixaucFJn3+Ikb3bYgqCtZvxfh0f5XmD2Gylvdu3l7FbKBbaIphLpZWbAMFFtKQFflVo voHq9ZV4qNscZ46biP1TyImjWaEfrio1feovabtYvjnnL9vI14cRqbc80e+/tVqF++ccZ9 zFcTBC/AkOfCuhjd4a4J99/lPlHcAa4= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=KMsnTaxr; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf06.hostedemail.com: domain of mkoutny@suse.com designates 209.85.128.52 as permitted sender) smtp.mailfrom=mkoutny@suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736185715; 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=iyGA4lAiCzsKD8bpG2OLbm7SvOEgsIMLWbFXGinwzoo=; b=vgjDLaFwbvxVQi4GgLqPuJzdE3D19HlEXntUoPN/xLERcWlcHxo9b0OmBIaU8uMLz7X2EI 6HBxflA4C+nOwxL3LljMWapyM5b1e3V5m2pw+XF+eRC8kvXxRZS/oZ3DteP/BPGz04lw4m JykyvlG/OQEAlP38oEDtkgdMRff5Lxs= Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-4361f664af5so166802625e9.1 for ; Mon, 06 Jan 2025 09:48:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1736185713; x=1736790513; 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=iyGA4lAiCzsKD8bpG2OLbm7SvOEgsIMLWbFXGinwzoo=; b=KMsnTaxrBE7pzKnG8KFxYVVDktLBIgpc0bQB1vKmmqgaugAX/Wb1u6UYWfQJCvINDy IkveXa8rJce7nJ9c5LBEQFof1IWItAJOtId+XQncjsZv5kr62r+imrelAT1Rp7UNCiPT uvqOZ8Ldo+aPaobgM7cqXUTbA7qz53iXER8R1y0WUOqeqg7a+oKNSdeyS5XnbEIAWrxP p1jX4xCzRk78dOCbj5andmJeW/QZezMHyBS+N0DUyxoB+B6Tct9wYjJsZx1f9IR7AibP drJprQ3a7qnapZIq4ZTZVvs01LC2QnSgaIQqK5loCMC2vXy0QhYbG0jf/VYj1kz6WxoZ AuKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736185713; x=1736790513; 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=iyGA4lAiCzsKD8bpG2OLbm7SvOEgsIMLWbFXGinwzoo=; b=v4q0XUJe0u1kz7teeeYWpzUbZRMNbNDGgCgxOUaoS7MWOFzqoYyK3vd8qpIsKtg71V 414/vyccjG1ufqZ2KAeOMVXVKGKVHFnvCip3w68rUScvf1GRBR5xdq9E2GZKNgqIHWAC rKhC3H0UAIhUYYZjerqIJ95wqJdKLAe1dMilWORC3TIOdxDfgO3FgjYQQ8sTlshgtA10 wiMlzR3lp6nuoV9QiLsI/fSVtVVjBWKdBiTp0vwybhL5JniAiuQQUn8PzvY9Y5gTl+aG AvOj6G9YPZR8k0HvFuLRYK6C2Fs58YTcwigpiv3v7n8TPCaELlXzlRwxvbXYH8uTXTN6 jSsQ== X-Forwarded-Encrypted: i=1; AJvYcCVGi+DMqkPvEdPH2DXYFMUzqWQSAmohln2EDaJZCuDow3TZpFCnVwEsSghFxO6ivgHAewUUneB/Tw==@kvack.org X-Gm-Message-State: AOJu0YzCuHCpogFM2naaTd842N3LzASwQr6inAEvFWncLUoW0foCe8sb h8n8FgMWDfrVNbmIVCdDsA6Eko2gYAISvpPlYy21Cw0PHFygzjyGm7EYgojcj3k= X-Gm-Gg: ASbGnctHaq/619yKqJ4TwY54mdRlCs9Df1TFuczZ539a2CyXfONHDRX25Acu/pmmM6n FMozytaDUfJHEgT5rKZeAy7x9Wi8sA7U0F4cPzOCX/0bq2jXuPVG0uGYv8kp69qUZBDXxAlQqQx vHsvgYgzQ9MPjeDFUsALKMbOHbS3BAORhO/RnTV0KCKV4RMvBYfCS64/4qvVTWXlAI5Dmap/3NQ dQ9hvymr6Gn96/xzmbXojSHcAISr19wYiy+yFxPraUJ2UQQbZnP615qyrE= X-Google-Smtp-Source: AGHT+IGkwIuJtbwbUThZtAjQyXw8sV6HWFXnREb8nnP6DrTXZ11YQLIKmj95wr8m/cODFINVqbqcRA== X-Received: by 2002:a7b:cb14:0:b0:436:90d4:5f3e with SMTP id 5b1f17b1804b1-43690d46037mr324429325e9.6.1736185713421; Mon, 06 Jan 2025 09:48:33 -0800 (PST) Received: from blackdock.suse.cz ([193.86.92.181]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43661289d3dsm580766155e9.41.2025.01.06.09.48.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jan 2025 09:48:33 -0800 (PST) Date: Mon, 6 Jan 2025 18:48:31 +0100 From: Michal =?utf-8?Q?Koutn=C3=BD?= To: Maarten Lankhorst Cc: linux-kernel@vger.kernel.org, intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Tejun Heo , Zefan Li , Johannes Weiner , Andrew Morton , Friedrich Vock , Maxime Ripard , cgroups@vger.kernel.org, linux-mm@kvack.org, Maarten Lankhorst Subject: Re: [PATCH v2 1/7] kernel/cgroup: Add "dmem" memory accounting cgroup Message-ID: References: <20241204134410.1161769-1-dev@lankhorst.se> <20241204134410.1161769-2-dev@lankhorst.se> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="3gfwd2ja7fjanltd" Content-Disposition: inline In-Reply-To: <20241204134410.1161769-2-dev@lankhorst.se> X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 1DF3518000E X-Stat-Signature: ef83nwjx4xgtpsaihbd9upb9y8mi9be7 X-Rspam-User: X-HE-Tag: 1736185714-197452 X-HE-Meta: U2FsdGVkX19iikp6g/MBmTMLqTFPWQ8sFQTGykAQXJpPxNftUHw+93feRor4GneoapO/esOeP2yhbzp+BHwBZMMcWFXkcBDQFCR3kaTgoeOS3KbfYR+cNUy9tIWnw08PpjJGCm7JwWKu2szLtspvNwACd4Esy/ogoqSdVq+wz7Euo0AMceDJE+sO4z4/w57W1lq12Zous1wiZ59zcStRbs0yp9MZsb6mLJ2soBVbqLXZGfJABuHMGx08NRC7E3GZL0or3+GYeOigZIusNFfVOrrJRnMkIoXWggmXMtVIJSqa7CoaQk1eAmdipjVDSAhSNkH5jHvctGwGBemQ/5t/8Iiq4hXBIDLhyVjumOYeC5sv1HrJ0cZ7TX4fb9MF7sr+eeTTXsZ9KFhjzTLb2UewQi1Y1Bj8K38hCQgwMO5ouQoJlzqMYaWi///sq1uUmB7DrAKO44IXIqJhB9Qz9Csif60SIk2kL9h8aWzsLvydhAbDkS1EinolJtVE/x/oNAW7vinSSs8lEaW3MPnge5jCPoMibh2OEmR3yPmOASNkvtVhAYs+qZxUWy4Ii8/tAPk2+BIqtkNnOW9guYm5j09SHck/G7ARnMNXnKvhI7oV6lcLq9fKmAyCEnqfyejp88RR/K/UMsvubk1GwgiR30qfEsUo2Z9wy2zfJMefqNM6cVV37X05rQRZhpRa5sB9xZ85yTlttLDca754h/Zq9F+LBidd4POJH+rq7V8CCZSAi8Q51L1Fein9OtoEDpeh6wJwcTqP6zGT3nZyjUHtgE85/oJX3/qPmOQDQf5lNT/wigowPdQ6iPzDZjifnZTm4jCVga/isiZLm9x4SQhhKP4U5ooMkvim9j0S+EzTR+kjGPQO6Pre76pEVpQXdUK1t03ve42vrUtfcaLSLKQfFQk4EhkjJcPSlhecAQJs9hxEdYUQVf9ZBw2N6mDkJOjDakKG6pn+fHtBHEar/yIsY9e xHuRWqD6 /7WFAFd6q4NPLjMWv372wVp7vtTu1HoaXqyKGpmERioAxshly/b2vaDk4UtBWPnmc8pd8TieMu5xQsjgHwECMNMKR6zo9GVB0fjskqI11+3OAENtQLpEY+h20blNu9f06w1UT9hxKUZ+HGLDQQIl9M4lxJ5U5foq+tXBGAeg4m4JLsrf/OBUEZMMdhW+WCbSubIzuZPf4ePCft16i/rdxQY03cAHUL6Amf9ZUAtVZJdC6Y3gVafT/fydEpMXjEpLG3MoOh8onrdbGzX2vQMA7z1jICiB5/ojZ1oLXh3Y8NEZs7E3WG4Dc3nXlFRx60HGczPHoTPaC8prJPRbyroQ2dtyRZUAcHpLRB0zXm6FJNu8yWw3ce1AGbYPOfHZx5TxsWDtZzg+bv7lTJpYYU3Vc1dsTIhLY5UTLAFgYf4EGeX2ZkoJ8zzG+WBMXSg== 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: --3gfwd2ja7fjanltd Content-Type: text/plain; protected-headers=v1; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Subject: Re: [PATCH v2 1/7] kernel/cgroup: Add "dmem" memory accounting cgroup MIME-Version: 1.0 Hello. On Wed, Dec 04, 2024 at 02:44:01PM +0100, Maarten Lankhorst wrote: > +bool dmem_cgroup_state_evict_valuable(struct dmem_cgroup_pool_state *lim= it_pool, > + struct dmem_cgroup_pool_state *test_pool, > + bool ignore_low, bool *ret_hit_low) > +{ > + struct dmem_cgroup_pool_state *pool =3D test_pool; > + struct page_counter *climit, *ctest; > + u64 used, min, low; > + > + /* Can always evict from current pool, despite limits */ > + if (limit_pool =3D=3D test_pool) > + return true; > + > + if (limit_pool) { > + if (!parent_dmemcs(limit_pool->cs)) > + return true; > + > + for (pool =3D test_pool; pool && limit_pool !=3D pool; pool =3D pool_p= arent(pool)) > + {} > + > + if (!pool) > + return false; > + } else { > + /* > + * If there is no cgroup limiting memory usage, use the root > + * cgroup instead for limit calculations. > + */ > + for (limit_pool =3D test_pool; pool_parent(limit_pool); limit_pool =3D= pool_parent(limit_pool)) > + {} > + } I'm trying to understand the two branches above. If limit_pool is a root one, eviction is granted and no protection is evaluated. Then it checks that test_pool is below limit_pool (can this ever fail, given the limit_pool must have been above when charging in test_pool?). (OK, this may be called arbitrarily by modules.) I think it could be simplified and corrected like this: /* Resolve NULL limit_pool */ if (!limit_pool) for (limit_pool =3D test_pool; pool_parent(limit_pool); limit_pool =3D po= ol_parent(limit_pool)); =09 /* Check ancestry */ if (!cgroup_is_descendant(test_pool->cs->css.cgroup, limit_pool->cs->css.c= group)) return false; HTH, Michal --3gfwd2ja7fjanltd Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQTd6mfF2PbEZnpdoAkt3Wney77BSQUCZ3wXbAAKCRAt3Wney77B Sc3yAP9ovqhdPX1shEVmXcwsztc0uf1lRR+Wsxf3kwK/GFzF/AEA62OrZTWy+e7K cKrPC5As6ORKo4sBmoUVQk/+c0xCRgY= =per/ -----END PGP SIGNATURE----- --3gfwd2ja7fjanltd--