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 1F37BC4167B for ; Thu, 30 Nov 2023 20:07:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A86ED6B044E; Thu, 30 Nov 2023 15:07:55 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A373F6B0494; Thu, 30 Nov 2023 15:07:55 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8FF776B0495; Thu, 30 Nov 2023 15:07:55 -0500 (EST) 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 81D616B044E for ; Thu, 30 Nov 2023 15:07:55 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 5177BC02B1 for ; Thu, 30 Nov 2023 20:07:55 +0000 (UTC) X-FDA: 81515706510.18.70D7923 Received: from mail-io1-f54.google.com (mail-io1-f54.google.com [209.85.166.54]) by imf27.hostedemail.com (Postfix) with ESMTP id 5D65A40038 for ; Thu, 30 Nov 2023 20:07:53 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Pb8tTn1+; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf27.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.166.54 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701374873; 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=f8JkjsLram/ejernmiCZTwmtwfg8aQ1F8JO+U2W+Xm0=; b=GSfv/Fo9W0OAzVIDLDtZDokX4/wsVo2XiHMOnavrJqfLJOwnvZQYb9PssY9tAtAnBFSvBU eZJr0BYxb758XPtGvGZ8Jf1/qITGrKdb0bqwj8I/XiJOJsfvUqRr5UMQWDta7ZiwDIVptc wGMhutP+Be/mCvvXNGyYwNU7szMCcEo= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Pb8tTn1+; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf27.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.166.54 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701374873; a=rsa-sha256; cv=none; b=YK6NiaAtS21ze5q0z2rSXWOz3vSip7qeirtnhdEjWySmsrwXmk20wMoIH168sSA8lXdJbX kVyLN5N4NTk8RGCjMeEB3y3cBU7jqchqofi8uKJY4IyMaVTeiL/M70j99RuTF13lF0Q+sy 0wu9nC+HrPYoNLbjCLL6Cy/8y2xC22Q= Received: by mail-io1-f54.google.com with SMTP id ca18e2360f4ac-7b37caf4785so37813839f.2 for ; Thu, 30 Nov 2023 12:07:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701374872; x=1701979672; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=f8JkjsLram/ejernmiCZTwmtwfg8aQ1F8JO+U2W+Xm0=; b=Pb8tTn1+DkRxP+VTHS0lkG/dThV5Xosuufg9ikd3LKPjJ4GUtnIy1ZVytLOHIg0W3D T1tKLSMS/LZPLzkQuQW+AbAoJMee+d0YfFZN67fwRoWVNT2IkKefeGHrNLL08Se6fX4o 5ka+udL3EU7GhxnKY2s1YWeqZnjQTod9d8Zg3ztG8ThDIEcX1pevAae/+HXjbsgCEbDE T2MYoXzFQxtJyYsXrfQUBjgZ15omkibGX+l/0UFoYH1s25rnHK5jf31fHah+VzXH0DWt e5cQWlHC8+ZvpnD3iCyAKTTsqL1mfPKfILW8ooykOIFdl3GtaABs4tBq+tG7dFWgwkh0 mc4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701374872; x=1701979672; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=f8JkjsLram/ejernmiCZTwmtwfg8aQ1F8JO+U2W+Xm0=; b=AfJKq8F8s2WTFJIBuiV9Lv4oMnFKMqdM3kJcw9h8qUhA6r+iGFbC6bN+RUcwCeUxD1 uuq/EVAzr+TEmRCkGqsy9+y2+V3KZ4nNZo4UrY+tgtdAoPm0RRuEpKKfQBqpjKCMRSqr btQFjgNAnBGIM76F/3ESjl1RxLBOV42+g3SFX1tFlXYRqvbNeJ8A4StafV2cFh0YVuAA oHT0e6tXJ0Q/2RuhvrtSN1cJQ1r1JRolD7OHnC+OFspQUtUv7wj0qra3NChPHKhF5LiV zYYLV0MpioHbMFVpCvc3vWa7qKFli3I8oD6LDbKrNjgyrTULv9EoupwH4xB5j+cqrCGf YYtA== X-Gm-Message-State: AOJu0YxE578SbkOdq7rjVQkojxo4SQhlKC3EUpGsWPA1KCfBx2DYWs4F os+2FdfvRpzE7uHzOICpUqdmrVQYnr38Znws4Ak= X-Google-Smtp-Source: AGHT+IHXvm1W++vVVPTk19ktbPl5ee74KU9mfyX1arK6KzKt6r5RD2ae1t2pmohDXRTROGj0LXeigfu6GOv6j0VuqSk= X-Received: by 2002:a6b:7506:0:b0:7b3:f55c:49a7 with SMTP id l6-20020a6b7506000000b007b3f55c49a7mr5185613ioh.3.1701374872357; Thu, 30 Nov 2023 12:07:52 -0800 (PST) MIME-Version: 1.0 References: <20231130194023.4102148-1-nphamcs@gmail.com> <20231130194023.4102148-2-nphamcs@gmail.com> In-Reply-To: From: Nhat Pham Date: Thu, 30 Nov 2023 12:07:41 -0800 Message-ID: Subject: Re: [PATCH v8 1/6] list_lru: allows explicit memcg and NUMA node selection To: Matthew Wilcox Cc: akpm@linux-foundation.org, hannes@cmpxchg.org, cerasuolodomenico@gmail.com, yosryahmed@google.com, sjenning@redhat.com, ddstreet@ieee.org, vitaly.wool@konsulko.com, mhocko@kernel.org, roman.gushchin@linux.dev, shakeelb@google.com, muchun.song@linux.dev, chrisl@kernel.org, linux-mm@kvack.org, kernel-team@meta.com, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, shuah@kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 5D65A40038 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: t5izuyx87x98qcfg7cczcbmixcoj5arg X-HE-Tag: 1701374873-243587 X-HE-Meta: U2FsdGVkX1/FECXsLEKGAypRf/EXy6rv46yR05Nyr3ddwPc8C/e7pcvC7dYJ0rRJ+4qQyHxT/58MOErprQ8sVDFADpQKz/+XiVKfkFCMGV0TAsHfCxf2j3zu8jgfItSGoquv8f2nAL8QD6j2peAuHhs8gh/g6+oVg4d8/Q+2N83ejwvNAnXVvE6sirC9nRSrAz+WhTa3YxuEICCpFxjaEqm2ooZnlLRi6cgkbzzcMSPYSNP+eMTmRwW4qBHKp8RluCFl0kGIwXHr/DQ2gdI86Dq2I6zEjq7HCvUUj31KFSiRCZ4y+IYcAONMmc0v3r4tUwA23cjgrgoci571A7dPdLuTPAkdKBCVxbqbx9xojmMktCMJv+N2Uu9EmZbUFGTZV4qF8urkKPgYgdY9emaKnS37eQgwA8tSkmlDaMUdR+fp5vEgDjE8WsVmo0mJ/jUoMcoHQKFj1hIeN5DqOHd2vIVprl4QTjSNye1C7YmmYT4VTehXFh03SREqscHv8AyIVziyzddntTMBM+5ncGJo+Vk2fEz0ygs1ZfOQqObzzHyaed5S1OW6AaGTxweEaK1jYfui+ItV+TSG0y6dMNJFhIHrwU7LeQEbDnOJpKraWQkHP2ZGFspPShk8vqhm1mpwadvYd8Fo/seAmGqB9h8OoQJ2n2r7wCMWJn6Y2STB/Wat5Pk/ZWTA5+n9MAlr3LlFuHvFHCNh1b2YcxcUzbj1S9XOSC10lIBWu7cngHf7b8QK8d0bruqAY9zG+F09UPTSWiy7i9M3WzSlAQ4cF0zU0BQqeCGbw2ZxL7eAZoROKj/jYF7r/q7HaAA1ZG7KTU5jh4ndpV2mYCsKN4qVofMjwpB87x6cNGI7ZxjUUdm+hxf6EWDAOR8X4Eb+SRUULuV/uvTksueUxngftx5UjhH6ePBM3pPbrhyw3KKrxmtx/YGhg4pIfMcg0j9k9YONZGRExzRjv0yp5LwuHJpA0ge kksgI/rj htPXYA7mv229LcX0DJ2RxOuudDzUVwZAbGaFNykYQz1lHgQwk8AJH3MYkCJXu3KEuRbfyG9FuTlAn2WKGlEr4tE3s6K36wVlMfZ2pkzUKDxn/pvVUSVRq8jsMlSzuMr3VyRum0LgAOt/K4UYpFtfxhBvzHcEJEqCyfhQluTWSqwytokaRECnxaGPVvzrIImjjPQONP5BXzFAbWdSuyGQhktdQsNw8TR++/X4vLpvYi/6fTaWw1tPLMrSkd2Nz1ZUCa/FcIqX8i3Jho9aHl2nEd009DxJQvA7sAZkwmFRZsX9ncDpBik+IIoZDck+taiWc3nsbuWpEXntVCH2RhGWOBPZBqEHLkTgryv9Hsl9kU5o5l6NlnJ4+oXzxnGs4ifDMHVwNHvj5q+FYUnlJ9hQuXV4ozSs504Bvd0DoeVvFxQ1BGDM+F1WpT+rfnNbyJITn3zQmi8Ne2TMy+/u/0nDAKAhdz0CEqps//fbdFoyjfYvw3S7NtqJPBNiE5MqCr0A+Y4QL X-Bogosity: Ham, tests=bogofilter, spamicity=0.000123, 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 Thu, Nov 30, 2023 at 11:57=E2=80=AFAM Matthew Wilcox wrote: > > On Thu, Nov 30, 2023 at 11:40:18AM -0800, Nhat Pham wrote: > > This patch changes list_lru interface so that the caller must explicitl= y > > specify numa node and memcg when adding and removing objects. The old > > list_lru_add() and list_lru_del() are renamed to list_lru_add_obj() and > > list_lru_del_obj(), respectively. > > Wouldn't it be better to add list_lru_add_memcg() and > list_lru_del_memcg() and have: > > +bool list_lru_del(struct list_lru *lru, struct list_head *item) > +{ > + int nid =3D page_to_nid(virt_to_page(item)); > + struct mem_cgroup *memcg =3D list_lru_memcg_aware(lru) ? > + mem_cgroup_from_slab_obj(item) : NULL; > + > + return list_lru_del_memcg(lru, item, nid, memcg); > +} > > Seems like _most_ callers will want the original versions and only > a few will want the explicit memcg/nid versions. No? > I actually did something along that line in earlier iterations of this patch series (albeit with poorer naming - __list_lru_add() instead of list_lru_add_memcg()). The consensus after some back and forth was that the original list_lru_add() was not a very good design (the better one was this new version that allows for explicit numa/memcg selection). So I agreed to fix it everywhere as a prep patch. I don't have strong opinions here to be completely honest, but I do think this new API makes more sense (at the cost of quite a bit of elbow grease to fix every callsites and extra reviewing).