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 E1A0AC5AE59 for ; Thu, 5 Jun 2025 07:56:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 71F1C6B0088; Thu, 5 Jun 2025 03:56:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6A1966B008A; Thu, 5 Jun 2025 03:56:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 569CE6B0092; Thu, 5 Jun 2025 03:56:01 -0400 (EDT) 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 341036B0088 for ; Thu, 5 Jun 2025 03:56:01 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id CD57D141DE9 for ; Thu, 5 Jun 2025 07:56:00 +0000 (UTC) X-FDA: 83520588480.04.5367977 Received: from mail-lj1-f182.google.com (mail-lj1-f182.google.com [209.85.208.182]) by imf12.hostedemail.com (Postfix) with ESMTP id D0CBB40003 for ; Thu, 5 Jun 2025 07:55:58 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=CBxhHdjd; spf=pass (imf12.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.208.182 as permitted sender) smtp.mailfrom=ryncsn@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=1749110158; 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=2ZALB2a/3rBe5PKgC9dCBf/T3eQhyBwC53keJkhs6GY=; b=WgIbrzkCJT1fdzkQYu3vesvF+JoPmzQw+XSvpwQMak7UJwzm/uVid59n1iN9qvkxfyj01M U9EvFOGKda76diJvn8Kq7xe8RsQbuLZh7c7dy3Aq++nSdFxIduOEdUK/n2ax2K2RkMhk4m HDbpRBt0vG8vVURJRmDMch/G0FH8iWs= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=CBxhHdjd; spf=pass (imf12.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.208.182 as permitted sender) smtp.mailfrom=ryncsn@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749110158; a=rsa-sha256; cv=none; b=WYehaHb5AGkrs0pz+IkAW8HPO8ZqbLVBo3Yt+aMxjrE9FGshTLDkRXvYdeW/t2D/GJYFTZ SBTlT9nATdVstxjxjPKjkOB3f+aQUDxIh6/P0OLMt3wVZrgVbPTb7hjEU2hQ5O7BNQ0fK6 QYCkBcCszMx34ucJDC3Tgfgp7NOz9fs= Received: by mail-lj1-f182.google.com with SMTP id 38308e7fff4ca-32a6a1a5f6dso5693551fa.1 for ; Thu, 05 Jun 2025 00:55:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749110157; x=1749714957; 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=2ZALB2a/3rBe5PKgC9dCBf/T3eQhyBwC53keJkhs6GY=; b=CBxhHdjd8nfcqwANgagfEmnFMBnRvmUNbMK2Rp0TrjQJV0AkHpmj1zFlnHPUv/E0wg M3GwTzHzKkZW1Vffu0kvhRJpCGZ24H+1ihjs5xuImbw5ykJ6SLnBlmk2wUViKOKpuBmt V4Sr8WECGvDR0o3FHjfkC+xSLAukCdtcn3tjI1704wZYo5c/UHbM2rn5UdE3haWCZICU hXGSnpzJcuynbaaEm3JTj0xQijqKCKmqVC0UiWQijQQmW52MBx2wLDeEb7PXxT/+ZvLC Pfct2u4PxbMRrz7TiOFuqA0525f8ft1LLZVyZIuOyDG5L58f9qDVH6e1a6DQp9AtKoHW MnrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749110157; x=1749714957; 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=2ZALB2a/3rBe5PKgC9dCBf/T3eQhyBwC53keJkhs6GY=; b=pDcOI16wkfPcaQfK2lBt9ECnwEmyWLOU3iuNo3rFrNRsWD8BPuagnpaE2vYrXkH26k 1AyJlYtIAUi5jnqK+TncZBAd2+Q10sGBgkJCtE0/goUvg4xF7xD8r4+Tv0A/ldb6oM9P ubAOHputQqbPW77CBNgxjQhpBqoatElsCvazBAoDgdOPpimtkhcnWCtbvehU6Vs2xNSi jvAo+e/uvOz7WOvgoMcJ9kkksi95MY9Ww91tERs2ZhQ8Lm0ioOWMPCo5XylOFKFXr8dq anMkzbNjMdzmWEA627Q79t5Y1cbN3PpB0aSEPOc/Y1sMNBHMUNzYo/I/4jBP0y5n1b0A l5sQ== X-Forwarded-Encrypted: i=1; AJvYcCUQnwGqHO9/3FChmtCRUXFFZ5f0OSAhtR6mPKetR4DSMhSdYUsCtfcuaGwNsvQV3FB1ZX5xLrD6xQ==@kvack.org X-Gm-Message-State: AOJu0YwP7/Dpo/3PdLoGNDnJ5/VEy7A0qn9f8YL16DPjfbK91zc06NNp s4qjgjeO7TtzFapZs7Q8YUwbpNgKS/ZkGPfPp2qgnM21TxzvlFsV3syutSc3TSTAzWOINzvDTn5 Z/+AyFuP1csFi2KOMBaKHPu/jSRyF53A= X-Gm-Gg: ASbGncvWGgHVC+bsqIDqLycRJ3cgWrLb41nQPKb8tgn9kPw+ozwWbmGGE/nNPml7nGN ssm3Hpf7VQvKJsWJ7v285BTd446GAZ4E5O6aSKJeaH2zcsHWApR4xEYTJ8511gBoZM+9817woz9 yZf/ZFaIriHx0MRGUD4PmOoSO/vY35CjH/ X-Google-Smtp-Source: AGHT+IE36zoMHRrSI/QHqNINIpE68ErznmUvBV1BbkwTLtc0+9not4jfi+IMCGrCBSnj7tNFtLjQZ+pPMX2WEnCfmdI= X-Received: by 2002:a2e:ad88:0:b0:32a:5fe2:81b7 with SMTP id 38308e7fff4ca-32ac7979098mr17069341fa.24.1749110156675; Thu, 05 Jun 2025 00:55:56 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Kairui Song Date: Thu, 5 Jun 2025 15:55:39 +0800 X-Gm-Features: AX0GCFv7u9vZ6i-VA7AaRjsedwSzGzV-urCZCv2dM3qE4Yg2ONNKfLH7r0U4f88 Message-ID: Subject: Re: list_lru isolate callback question? To: Dave Airlie Cc: Dave Chinner , Johannes Weiner , Linux Memory Management List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: ehfku539d8gkdh749xtttihwutihp6bo X-Rspamd-Queue-Id: D0CBB40003 X-Rspam-User: X-Rspamd-Server: rspam02 X-HE-Tag: 1749110158-997956 X-HE-Meta: U2FsdGVkX1/fSpbLHFXmiNfi/jIBMUqLWy9uqT4h7LrQSLu8LXTG7iHkdn3es1SCLBKLTFnmcymdpj/8ifqERn7Sn2fGhZrpdtmQkn4FIkueLTzeBfXWCMnswDzah4OycKp1fhGt9yvL2viMStBTcMq4Iy1szs8XYDyWrJa2hxWTrNEw7S9cJ0a7IF1QMBaKB0LyBUqpaTxVLLiVSlDuKybNssFXvNCFVullgon1Dn0nqlD44IrbB+zPnn3FnYQ6q7tNp6Hv3vDSo+hfSwACT2vprVvBT9kbji5Gm6g/05REGiHU5BT0PzZu0U/byzd7On7V90U3kJQWJ81RMn3FlNaw1KHcdsCOQ0WFCbLT1tEnG5QonJtKDTwu7F14AMG3ffEiknnP9hV+50s+ftGv+X0SH+tWeTIJZQYTsOBaZagP5lo402/vCkDTIH8IL0p9jqbJ3zQV0YQZnm+UlraGrGB0ymZoWx5hTwwQSMyzARUpHys3ICawhV6N/Y12NnF3ByAAxuBRK/ly8srsAtclUGQEbL2yS5b1zuVWOSB5o1uWlXgF9zmXY64euEiWr54F++fWtmn4j9gmXBY/T29ikXJok28fwFGUH2OKzPLq+K1bUWzJH3Fsa26RpkIoPQDc3WrkpSogKWOBuJ535K9NTeRioae+DxasDbyTVeucPND03ltngCPnE/LLWzyHc6T7E8MITYQT4EeeGpHhnwz6SlnWC4ohD/fp/oVUjcn0GQmBx3A3n1cLoRBHolut5Npm5iQxCDD1puEkVmlUUmfL46Tt4ZS8Z9MZvu41neOfKeUCbzse9ZOUs6pkezypI0RY9i/M4ZfuScds7DRYy3dZwWD59ZCLeEuBivctkkwF3abXhERNHjkQhDSs1sRZ3oz+O+4R9ihMJK4KIeKmRexC8SELKo1QOx+OtDWtuf/fWQ4o+qRVHt/Z/wo6zv2SaDjbZcjqEALAJ8HiRWjPtXZ c4FvFvD0 rKEWwtEh144tfFFTMWuMooqAhB/oTq2ynM/t17Wq8Lfa4SOcUJbWr6469myICADNxgqnv4LAMhCC17FAM5U6GFBGYoYN8Hodw4cxAF+gre7gb6ScIbGOuN/sxwNvIVOVUUom7FzQCW1RXU4peWZ3LZNKP8Ke4TIIFVFiKvO+K5y67KWY1yVdXwL2L1sg3NiSu/tBcaADPGHzKZ63SJdKcsugrnBvX9f1lMpY4iIO3kxOoUIrVNVMyE1ejhEfmTM3piVe88heWWdR79X9Wujq58ytZe+bqIL6AXWxP97qwXrkzrz04/8ugEx/XTv7/UEPOLiZV5GLicy1eZrbVlm7MdpZPXSbvrCIq9oQMRaJ5y83DGff+2jFQJbE5wBzVLENDcVjJih3LJzWncv438eDfk8mL2jCMX+BIvPQBxyP6WzuDXnMM3zOGpKCjpw== 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 Thu, Jun 5, 2025 at 10:17=E2=80=AFAM Dave Airlie wro= te: > > I've hit a case where I think it might be valuable to have the nid + > struct memcg for the item being iterated available in the isolate > callback, I know in theory we should be able to retrieve it from the > item, but I'm also not convinced we should need to since we have it > already in the outer function? > > typedef enum lru_status (*list_lru_walk_cb)(struct list_head *item, > struct list_lru_one *list, > int nid, > struct mem_cgroup *memcg, > void *cb_arg); > Hi Dave, > It's probably not essential (I think I can get the nid back easily, > not sure about the memcg yet), but I thought I'd ask if there would be If it's a slab object you should be able to get it easily with: memcg =3D mem_cgroup_from_slab_obj(item)); nid =3D page_to_nid(virt_to_page(item)); > resistance against just adding them to the callback? I'm not sure about the context here, I personally prefer to keep the function minimized unless necessary, so things like !CONFIG_MEMCG or single node builds won't have two dummy parameters here, and most caller won't need them, the compiler can't optimize that out IIUC. > > Dave. >