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 C6047C369A5 for ; Tue, 8 Apr 2025 16:02:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 12EB56B008C; Tue, 8 Apr 2025 12:02:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0DED46B0092; Tue, 8 Apr 2025 12:02:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EBEAF6B0093; Tue, 8 Apr 2025 12:02:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id CD3936B008C for ; Tue, 8 Apr 2025 12:02:12 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 9A426140E89 for ; Tue, 8 Apr 2025 16:02:13 +0000 (UTC) X-FDA: 83311343346.15.7C1C1E2 Received: from mail-qv1-f41.google.com (mail-qv1-f41.google.com [209.85.219.41]) by imf15.hostedemail.com (Postfix) with ESMTP id 7B8A7A0031 for ; Tue, 8 Apr 2025 16:02:11 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=Nam42E7I; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf15.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.41 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744128131; 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=bCjGmw1vXl9thWoRbkSC+uB4IS67BhRqqql+mnE2/qs=; b=jAj/KNbPUpGipo8ja87UcifoyTLIl2IXhyMgQN/1q54t6T5/u6o1JpfUNi24lnJxhxZEcF /8Fmjn+svg+A6jxmAsCGMULdhhvkpq6f6NWwNWErklUZgN2/aQ4Zz+oTTbvKe/kZGVdjqI +wM3IVgRF2PpbOMEueTCpLYh9vfEYNU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744128131; a=rsa-sha256; cv=none; b=cDEftJmoUkCSWrulWrGU40aHX0hrSh1NgD3wwAvbYYQITpxwNN+pn0qePiJFplEtn+WiOM +FFXF/de4BpoPGRA2pWjVNy4yC30hDxhJr9defP/N9bUA8/1PdT0E3MNV+FhO4IPmNFCbS MG5J5d44khwBTx0BVYkRSDsheiq6sbc= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=Nam42E7I; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf15.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.41 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org Received: by mail-qv1-f41.google.com with SMTP id 6a1803df08f44-6e8fca43972so65570016d6.1 for ; Tue, 08 Apr 2025 09:02:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1744128130; x=1744732930; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=bCjGmw1vXl9thWoRbkSC+uB4IS67BhRqqql+mnE2/qs=; b=Nam42E7II8ON5wcje9Vl6Ps5e97RwHSI5OSCDHgNBbcmOA3CScuIUrK0Hp+0JvVLMR wIIxGkmaA2vuVB/6CTZOrjV+QEe/xRxHTzITfr2LU1IxvHzrG5YF1H8mA4usieXVaL/h AC5IpxCnHqqDFGIvIWkwjJHItjXHplzvUev6ZzV+eMJAawnUCHJzznNXWxQ7c92yKwbP ONfG10v5/RRn17qv7ZjdKgxGDEf48NRxi6QejtQbMcxlgyAaiTo+8CgQDqlOqsBwjhdy lVETUF1/fEk6u8y//fFoyabbXFMejERz5ADWCcLgRUlB1KCmtqrrK9VwrtsrlOY8/hbh dAEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744128130; x=1744732930; h=in-reply-to:content-transfer-encoding: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=bCjGmw1vXl9thWoRbkSC+uB4IS67BhRqqql+mnE2/qs=; b=ToVTgmLypEX6kTu5xU+e8TCs3d1pjQfs3TLUn+SQSghwaU2ouAJf3aghlL/GjaCcOh LDDlz6agCu3BfrxJEfE1TDWBdhLUVMmAuCZ7KXmmxrk2680xuDQ5mEKadPqevRaf3qx8 FV82XEaJl14MAsAgLOpsCsWWSx7wearj7Hw1D90g1mw4TFolLPL2LjHb1OcYyara8HHl tz5YvPMyPaJzpoTiA8k+go3jZgCbd7unSDpqu/eE8ZsCgCBi1bMoJm2u2Wxzgs3Lntns /rgWz6q6E/GpHjbKGjrDqzjADAMUQSw0NXkjyPQTLeXfwwpXUonwt1bY1bo6PqRIcSO7 jVZg== X-Forwarded-Encrypted: i=1; AJvYcCXXtN5WnQo0z2VootkOzNrdwVjcXZq+PKFoQ1yTFrx5zdnAJ4wirp/eYuP73XMpqOzo61kIvos/eQ==@kvack.org X-Gm-Message-State: AOJu0Yz5y9oXWQICyrjSfkFBjWxgT5Q+pi0di11BcVHMHtr0HXBC4F95 iSO909gE1w/RGJy4pbKmHUJ4dxD40czWs7gfhZdREfUGdt4otp1nTXQR2H00fms= X-Gm-Gg: ASbGncvKt+kXDTC+63VTtZgY+WhhgLRLkOEISnvpYL16Jl/31weJnVu1dC0X72mE9n0 FWEqnID/ddJTdpcqZ+qN/ww8cnWbCvuZZLB79aTldjjVq/Gynnn9+TiCwT+TQdzusAQX9wgWf8q 1bDaibrKVHaqn+WJU6q9lJFU5SdfSx6ENrisfANmGkJ06p1JG4LVHZpVvnT9ch0mphboiP7AEoT emrq9NMVoCBkZkSQKt/IDA1BN2fKUXI4ZmYdPCedVQXBmDHB8s9K0yUyEcZTo3vNQiWiFl9x63Q hDPjjMF085hT9r6QtqKXZhVMpB04J7qmmtzJkCZcyDc= X-Google-Smtp-Source: AGHT+IGDcXxOmi0/rDvqnBIwEOyIVIbiIx9MiviNaB4LFUm08hStl7PcyrU2RNIcA6KEjVahDlPwtA== X-Received: by 2002:ad4:5f0a:0:b0:6e8:f3ec:5406 with SMTP id 6a1803df08f44-6f00dfa2c08mr309611376d6.19.1744128130436; Tue, 08 Apr 2025 09:02:10 -0700 (PDT) Received: from localhost ([2603:7000:c01:2716:365a:60ff:fe62:ff29]) by smtp.gmail.com with UTF8SMTPSA id 6a1803df08f44-6ef0f139490sm75420316d6.93.2025.04.08.09.02.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 09:02:09 -0700 (PDT) Date: Tue, 8 Apr 2025 12:02:05 -0400 From: Johannes Weiner To: Zi Yan Cc: Baolin Wang , akpm@linux-foundation.org, willy@infradead.org, david@redhat.com, 21cnbao@gmail.com, ryan.roberts@arm.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH] mm: huge_memory: add folio_mark_accessed() when zapping file THP Message-ID: <20250408160205.GD816@cmpxchg.org> References: <34bab7a60930472377afbfeefe05b980d0512aa4.1744118089.git.baolin.wang@linux.alibaba.com> <282545E0-5B66-492D-B63F-838C6F066A22@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <282545E0-5B66-492D-B63F-838C6F066A22@nvidia.com> X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 7B8A7A0031 X-Stat-Signature: rxe5j3yja3btxo3fif549ijssia5hcce X-Rspam-User: X-HE-Tag: 1744128131-238420 X-HE-Meta: U2FsdGVkX199AAucolorxSyrZS+5Jmzxe6gEfiri3vjtRKBQXHACC5ciql6BbOy9lNmG90xSXaWx3fJBlIcZaSBUYAV7y0VNFUm8iww7jhW7HnckWj1IKLsztNa+Z2/gm8HfaibExoeXWnMH9RGBII8d97sZfa1VB4z3yARdMv75+0myGW0rzTg4W78ahVKVK+2ugM6h0+l470WVOVkPA0r4oxROCbLd4GDBcQIFzaMbykTcnkK81dR3qpWbKqzt2g5/Tx7+Ub8vAHTYAdOvLauhEfB49UYKIoB9l+eYbOhGi1UQZru3rQxjXhJH83zZXQhv+Vopf4ipDWgAGf8tVLcw6mwpRctMdXOsPFpJz2Tu76uFDGNXOS1MX7CRNoB1BuYzwvKDZrLl+4T79Q47CvZo/FClBtJgzQn1vfZuXXPXXeq861n5R+H4MpHNHhDgzqatbUN/3MSo6o4kqybbsxnIx3sYZNA+kW6G4KEXyTrKYH5tGJ2I7l5RoRAqlgHF86GUosGMlHuyfhwU22KnxbGTGJ8p1MFukz/slJuN+O2DPxtZ14ka7D/gYkfqytL0HUXRtXZxL3puZuq69q4i8EZvTI28J9hiccaxuVNzNex6YjE3+/Hj882j3/8h/YyV/aQKqRNZomfeQUZY2bf8m7c8WXnFsuimTQferBG1oMkwCJIRGanDWXU1g9jbQ75tw8zTBM5szKzUtVRjOcfzg1rDN42vle9fOn4/YujCJjwC8Dijk07rHq2nbHq0Aex/0vSSR8m9g4ci3YW52RWZ0HcDzp1DFMxiC+HOuqv8tgg7k6UJ3Ljsh/zwPNMITFxr0HwKpqaVfdk8SibvVDfeF4L+td0BJeTRou1/JYUUAZgWf/qsdAkiLH4NrNkgnZYvZG6vRdNOL4qZaEq7I7zWbrfuZC3U7tg8DbCWZjtX5MeoD9e8N11Gr+WOTZfwAC7g3WmByqPIgQu0Qlx3fVp kLLT5OsE oopBHsdXnAM+7Oq8SjQtrij1j8QimWYY99ZQITYBgtvAafHiHyebZAl6mFuA4W12ujein3gB+bZOIkK0LBWOmIspndeIaHjatgmmEo5nA1iQFOxPUge6lO5KdX2Ol7hwytoBIyGNOWGHU+MWd2OK1xpacBCVgvk2ep4kEQu4vBjDayBFq+JvGbr/AzHmw+y7xMUPR5+EBEKFrc86iDZejJ4ot99F1r4Nu+9wbYo0/gGi9lMaHN9GwLU+Xo0h2CnT174iPghJn/vwN8bm33jByqnBjd9jZ9ojC0zESkCB7AdB0DVYWO65at9/d8fWBoy1JSJf8xxBFl982qImY8ftnhUzEaTSXoFISshRS/M3FWQoJZ5tTAA+qolwwEZ2Z+sxHCOYXT6Dh1LNbGXAEe6KWagUG5PYw0wFtlkswU7bTIIsfg19UY0+z7iUQQGVE74tM0HeL5O9snYXDzYaHkoEqLZ5tNW/VfV5hSXaQEjCG/D4Dh77PXU+/Zy/r+cbbcvPZ7f91EgZo4j+nH6ntj1FRhF0FkoigRCAvMgCd/qnryz9D5VnLWojmuaa6oAoFt4wE0Sjo9jhVg7aiJSk= 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 Tue, Apr 08, 2025 at 11:29:43AM -0400, Zi Yan wrote: > On 8 Apr 2025, at 9:16, Baolin Wang wrote: > > > When investigating performance issues during file folio unmap, I noticed some > > behavioral differences in handling non-PMD-sized folios and PMD-sized folios. > > For non-PMD-sized file folios, it will call folio_mark_accessed() to mark the > > folio as having seen activity, but this is not done for PMD-sized folios. > > > > This might not cause obvious issues, but a potential problem could be that, > > it might lead to more frequent refaults of PMD-sized file folios under memory > > pressure. Therefore, I am unsure whether the folio_mark_accessed() should be Acked-by: Johannes Weiner > How likely will the system get PMD-sized file folios when it is under > memory pressure? Johannes’ recent patch increases THP allocation successful > rate, maybe it was not happening before but will be after the patch? It's not so much about whether the refault can construct a THP again, but whether we should have evicted this data under pressure to begin with. It's more about IO and paging. And it's the same consideration why we transfer the young bit for base pages. Sometimes file contents are only accessed through relatively short-lived mappings. But they can nevertheless be accessed a lot and be hot. It's important to not lose that information on unmap, and end up kicking out a frequently used cache page. > > added for PMD-sized file folios? > > Do you see any performance change after your patch? > > > > > Signed-off-by: Baolin Wang > > --- > > mm/huge_memory.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > > index 6ac6d468af0d..b3ade7ac5bbf 100644 > > --- a/mm/huge_memory.c > > +++ b/mm/huge_memory.c > > @@ -2262,6 +2262,10 @@ int zap_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma, > > zap_deposited_table(tlb->mm, pmd); > > add_mm_counter(tlb->mm, mm_counter_file(folio), > > -HPAGE_PMD_NR); > > + > > + if (flush_needed && pmd_young(orig_pmd) && > > + likely(vma_has_recency(vma))) > > + folio_mark_accessed(folio); > > } > > > > spin_unlock(ptl); > > -- > > 2.43.5