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 A2568C48BF6 for ; Sat, 24 Feb 2024 20:01:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DFE746B00BB; Sat, 24 Feb 2024 15:01:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DAEB26B00BC; Sat, 24 Feb 2024 15:01:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C767A6B00BD; Sat, 24 Feb 2024 15:01:54 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id B5C166B00BB for ; Sat, 24 Feb 2024 15:01:54 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 830D41203CA for ; Sat, 24 Feb 2024 20:01:54 +0000 (UTC) X-FDA: 81827768148.04.6F7773A Received: from mail-ua1-f42.google.com (mail-ua1-f42.google.com [209.85.222.42]) by imf09.hostedemail.com (Postfix) with ESMTP id DB51E140008 for ; Sat, 24 Feb 2024 20:01:52 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=DeJYmgHv; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf09.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.42 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1708804912; 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=ZhvY0oAhlso/vm21VK7DmsUYbiVSz8F5wQ+tQ3fpMMQ=; b=IBysr9JnumHWV4/aYGXnuentDik8WlcVney0MnbsUwq5Pw0tYsCfCL4XlKJ6FL8aFngZq5 VppycrGxFZmQRd7BfzYxeDOIYPel3B24u1jkoCmR/wPQazEcBnb7wf6yOZYE4olI/b8poG ot0CztJDjq/WoDs8dnwYSDLM7m7QEpg= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=DeJYmgHv; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf09.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.42 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1708804912; a=rsa-sha256; cv=none; b=kCKhKek9jHr9PD1vqZwbo8MXL3LJnofUNR4ZlDYTeWJ+7WR8GVan1qUtFTxfpTOLhtA7ia UoF93yR+TpqfsaSoDG7yAxsFlq/+7PAg+FdcKL1lW9gT+W85myYBJSxdvZC9rCh8wkM8b3 qXMpZmr8uyWeyt4h+d3BQjC1QPOOCZg= Received: by mail-ua1-f42.google.com with SMTP id a1e0cc1a2514c-7d5c2502ea2so982766241.1 for ; Sat, 24 Feb 2024 12:01:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1708804912; x=1709409712; 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=ZhvY0oAhlso/vm21VK7DmsUYbiVSz8F5wQ+tQ3fpMMQ=; b=DeJYmgHvQxYpotL0HwPKXsQVlHhn68jEE8Zb5BokxnpBnXGVLMAtlTbO6hn0isfbVt FtNqwNdDsJMBUMzLXeSpWYad4VDcBxIzRcjk1vu009bpJhcZX3Ei17Y8dXtt5/rfoA5r WgrYHrjL/shXgeRlDlWsl/0FZKZ3xcABnSxPiH7rOlRO1fs1ZGu8lnMR2MdYhqk8H7BY ob87ftZGu1SUO7+ihFt0v+ABGeKUiUiQR/3bFg29lzuL1TFZODNuj8t8ftKOx9iyDoYA 8Na9Z9mG+hJ3GzY5sxBL+fAyBDO9kSWl5sZxEb1QU0oZBBHDwUQgWtcFoyfimXIiEv35 6Ngw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708804912; x=1709409712; 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=ZhvY0oAhlso/vm21VK7DmsUYbiVSz8F5wQ+tQ3fpMMQ=; b=GlvVDf6T1RJi+sKRl83orw+wOX9RM2GOHcqDPshLhEGdsqUw/n6LVq8e42xveTEpZv 8LsxgWwsTBJNfOMAlQTzZbLuDrzdTnInRpMIUfbllwd71gwPAFpaeR7T4R5SxRc0rrmI FjVFQ1AWG6PXF+Ey81FAuUMLXCVRt//JU8Utwx1IADQYvOxHlhD1ROZKzdLnfIbnz+dj LfhoMUP3Oi99n9B3FdlGYh6wnACwcagsSrURLCg/t+MOojgXLRqsD2/1bCnM3mBAIpFf +519Q8IarhAQ9MYkEnNIWWmL5NN7vbRP91AdWBUSudc9b1D/kCO/mmdvyAU6ydsQVhnB DnpQ== X-Forwarded-Encrypted: i=1; AJvYcCV1NampX/5NM23J14D9ldfx8MBMl6rGHKdmiLMXg/lYPFsVEb6hq1kQU4hYdqHh10FVZCysxqYRDWe3kZjL18ZpHgw= X-Gm-Message-State: AOJu0YxcvwA2f2akcqIKskUXLriK7C9Whfg3M5cPEcg8hxg7NRiY/5OM 5Rc1MAH2O/YO7LDv2AElMQ+U4pnR5L0ENT5mA+Zg1h+jZ9E/BNB1DButve/axKcp97TfXXEFJTI 5/eJS4drv04sInsR9rNwjAEwPaNg= X-Google-Smtp-Source: AGHT+IEOpO4xwFjEMMS4q1MPbiPIvWeVLimD16r3xLrW/831OCqy7UnLYv6Qc9PkJ5vDb9k1hoM7i5SGdG1bvcH+h6Q= X-Received: by 2002:a1f:ed01:0:b0:4d1:3f5a:75ee with SMTP id l1-20020a1fed01000000b004d13f5a75eemr1790639vkh.9.1708804911975; Sat, 24 Feb 2024 12:01:51 -0800 (PST) MIME-Version: 1.0 References: <20240224190724.45681-1-sj@kernel.org> In-Reply-To: <20240224190724.45681-1-sj@kernel.org> From: Barry Song <21cnbao@gmail.com> Date: Sun, 25 Feb 2024 04:01:40 +0800 Message-ID: Subject: Re: [PATCH RFC] mm: madvise: pageout: ignore references rather than clearing young To: SeongJae Park Cc: Minchan Kim , akpm@linux-foundation.org, damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, mhocko@suse.com, hannes@cmpxchg.org, Barry Song Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: 6s68r5ud8qyg1y9y4h7ng4tmgi5ie1ut X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: DB51E140008 X-HE-Tag: 1708804912-973469 X-HE-Meta: U2FsdGVkX198rl3GzdCOSwlnSYq+tAt1Tre5e3o9nKrHbEHJmSj9DKHLrh0JuohEwYDYYmj9T9fuixslqbXm3R1Voa6eAL9EG6QJ1bcMh/Nkhy/fkHbNvQ3B0OqOrvx9Yxr9vDLqmLPFV1pjeNcHpAwKuA9/4k+T8tD4z3R0OjT1eMTlm1Ok4rngxKoIyDzVzjSI+saKbBD/XUEqWgFO3OfOZEUnvcnJZ/ZNcdWMY4jjvhXeICM1+gdntWqDsZJiLA+U0xRCwlg609RTP4Rcid6q4gyv+WY2YqyqvsJaBCW/IwrxB5MtWNxQKOmpX2lYIbjV1A907pr1Nd1/gu4oRNphEYNVegZ/3nkC/Trg2ikvm2tXvPvRx3mk/OSmdd5y7zvHcUmg/QNSTApFQ76kYsQ9Yr2ZdEr72tvN0p4yiwO6OTtOO4nGiXJRqM3m6RQp4knftYmWvK4rbUnFiVPslfg3f6jEecYZHGmD9b//esgfLzKOdxZEd4T9xhc9qqaKLoEppoIlpPOKJam/MWk2p6+urhe1Kg7JvsZ/9FezpMsuRmvxMoeDxTI0pH80gAZhpCuCJSZw9eFDb6m092kaQJji5Yk8KD9UlTbRsIo0QZ85O2hgx0GFOb3zeL+403SvSHWvLGhjiH4hTxTNte8FMTDJocBwbeUsEyUczBMiomeSjqdvbnOweY14FiN/QAWhFNkj23v4wrEsFy4sbYPbxl/x6Ogn5KPbcgibZkNAhI/O/8GhQ8DLUv4KZfPn2nccTENlVgJev9oqHnUuA5aKLGz+Soe43uG6gFRDzMVOtMXciX+KfzU9MKX0q1r5w7ZENTUL0kpPPQ02HKZRNn0x3YujkiqMCMrqgr4zD6qD9vaBwirFcXj2RHIBJVIa0DiYUn+WnLG0Ryq3nlbDi0B97htfOg7IEeztpzVMjifkzDO0EBsc/ez3rW+BWfg5SaALiQapiuiImJltn026PXb w1fuMSRF rjF2q26Wq7YOrtgDdiHUap7+bi593+lkhKj7a X-Bogosity: Ham, tests=bogofilter, spamicity=0.079846, 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 Sun, Feb 25, 2024 at 3:07=E2=80=AFAM SeongJae Park wrote= : > > Hi Barry, > > On Sat, 24 Feb 2024 12:37:59 +0800 Barry Song <21cnbao@gmail.com> wrote: > > [...] > > > > BTW=EF=BC=8C > > Hi SeongJae, > > I am not quite sure if damon also needs this, so I have kept damon as i= s by > > setting ignore_references =3D false. MADV_PAGEOUT is an explicit hint = users > > don't want the memory to be reclaimed, I don't know if it is true for d= amon as > > well. If you have some comments, please chime in. > > Thank you for calling my name :) > > For DAMON's usecase, the document simply says the behavior would be same = to > MADV_PAGEOUT, so if we conclude to change MADV_PAGEOUT, I think same chan= ge > should be made for DAMON's usecase, or update DAMON document. Hi SeongJae, I don't find similar clearing pte young in damon_pa_pageout(), so i guess damon's behaviour is actually different with MADV_PAGEOUT which has pte-clearing. = damon is probably the best-effort but MADV_PAGEOUT isn't . static unsigned long damon_pa_pageout(struct damon_region *r, struct damos = *s) { unsigned long addr, applied; LIST_HEAD(folio_list); for (addr =3D r->ar.start; addr < r->ar.end; addr +=3D PAGE_SIZE) { struct folio *folio =3D damon_get_folio(PHYS_PFN(addr)= ); .... if (damos_pa_filter_out(s, folio)) goto put_folio; folio_clear_referenced(folio); folio_test_clear_young(folio); if (!folio_isolate_lru(folio)) goto put_folio; if (folio_test_unevictable(folio)) folio_putback_lru(folio); else list_add(&folio->lru, &folio_list); put_folio: folio_put(folio); } applied =3D reclaim_pages(&folio_list); cond_resched(); return applied * PAGE_SIZE; } am i missing something? > > > Thanks, > SJ > Thanks Barry