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 B75CFC4345F for ; Thu, 25 Apr 2024 12:00:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 381456B00A2; Thu, 25 Apr 2024 08:00:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 330E06B00A4; Thu, 25 Apr 2024 08:00:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1D1D56B00A5; Thu, 25 Apr 2024 08:00:41 -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 0078E6B00A2 for ; Thu, 25 Apr 2024 08:00:40 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 25AAE161297 for ; Thu, 25 Apr 2024 12:00:40 +0000 (UTC) X-FDA: 82047912240.24.328D29B Received: from mail-lj1-f175.google.com (mail-lj1-f175.google.com [209.85.208.175]) by imf20.hostedemail.com (Postfix) with ESMTP id 1D95F1C0026 for ; Thu, 25 Apr 2024 12:00:37 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=FNKx8Ak2; spf=pass (imf20.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.208.175 as permitted sender) smtp.mailfrom=ioworker0@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=1714046438; 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=yz3reNGqZHR64SfzCcPbognzfBDQMj6j27eguea4rPg=; b=bZz9DnLbNfpd7K+KRbblq809hdjT0zjzFP5KyJYJPM/OUoOa3g99NVKJQBKRW83dTr3rNQ BuyIjs6zCadjAoNKe+UI3FdjUYCfn1P30SmdXUG/Bps2dJmxtLFAUtn/am4GxSM6asoeIF IGTIqqftURZASQPGV/9e2dMv8pJOoh0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714046438; a=rsa-sha256; cv=none; b=i21l8YbPXNbtpZYWZ/7HA2ax+nUhyCRYftWWZvlUyj3/BxJNEO8WyRMhHjH2gg71hD5Aoz IVIG9/rK1hFiIGTRYJ6Rjo9ax0+/smQe8SVM9+3QDYOHEOxG56XuxoKA/byJf7cpGN5WZ9 eat5OXGzYVKDXj2sVd0JSkBitlao6mE= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=FNKx8Ak2; spf=pass (imf20.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.208.175 as permitted sender) smtp.mailfrom=ioworker0@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-lj1-f175.google.com with SMTP id 38308e7fff4ca-2dd6c160eaaso10617121fa.1 for ; Thu, 25 Apr 2024 05:00:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714046435; x=1714651235; 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=yz3reNGqZHR64SfzCcPbognzfBDQMj6j27eguea4rPg=; b=FNKx8Ak27j+4wy/K2IgbxA9yCuWElxVQfAH696Ld5ZI55v/WpPHAt5kD22Iq3Vk49j oo1UgNXW+I+5s/O2J+UD6gxDqPz5GwncI0QJQINzvLXa5APAepfI067CJdNHyPUK8lVs Ylag3Ya7duA2Yp3iQHhRh0w7APf7TKFNXHTB8jupv9b/u29fPbQscxRoe6AGenYbDSKC A0nKnNbMK1t7P6TZySGEbkrl5y7H+XRPMiqoRXtK0bag79i6e1V7jG0j5C/iq4va0mQZ KaFbShxc1rbcKL49nx8dLRi4E5X0jzCCtbl3+gvymyVlGuib9KkOl0sf52k/HoextkGC m52w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714046435; x=1714651235; 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=yz3reNGqZHR64SfzCcPbognzfBDQMj6j27eguea4rPg=; b=b+CfuFtWISVjiI4b3i8KL6afclEcfHthhArCxa6/ca/DWMhOt5vlvYPFhDXu6YfpMt /i/DMGFn+W147szphAzdp47DESOg5Pdy9QQHppPy81ibgWV9D3OyBbJankWPKgLR89q8 gXImBPPEz+cGIdDTpMN1SH9HjVVCuFRyoJ82jpwxzeh8l0CVfvhGoxfR45zOU0TyHmnR Kuu/dE6xUoMNU+dVRyzTsWBaOL/ER8WoBUYIgRd4y2spi0LkKj+si8ZhU9TmphHHTv01 eNddYYo2ckAytx0LuRr+HLUeGTI5DczWAYQ7vuVLtT7QqEywq6QmlhwY4/Ozm7JZo6Kn Lk4w== X-Forwarded-Encrypted: i=1; AJvYcCWNL5v0jxL653D1++XelH5Ju/w7S05ag0gXKoUJtx9aJT8JCYXB9WQICDmzxmR1e4mm587Lc+lGO66qGmMOc3NlpK8= X-Gm-Message-State: AOJu0YyIa1/xZ1A4LyPFWQAq7Rma2JKIBkxE30fPGCIeC8b/aLrLfg5+ morKuzw/mmtJ6ADhFHLo4eE1kXgZ9fWnS1SmP1wYJKrWGsGA9O1vg2hlwG1l62G97pez2s6oDGS qf1Z+39n0QzlhK7sJvN9lQkCnhG8= X-Google-Smtp-Source: AGHT+IGuFQ8p1l3INQCxTz34lQfNbPhf0hEa7Wzdg8HrAjVcVf0cpVwmvELoG50FznFjTLAg335EOYp6IP7GorGuaEs= X-Received: by 2002:ac2:5dcc:0:b0:519:5a60:5fe7 with SMTP id x12-20020ac25dcc000000b005195a605fe7mr4594534lfq.66.1714046434863; Thu, 25 Apr 2024 05:00:34 -0700 (PDT) MIME-Version: 1.0 References: <20240425085051.74889-1-ioworker0@gmail.com> <49394660-8455-48ec-8ae1-fbd2d590d27a@redhat.com> In-Reply-To: From: Lance Yang Date: Thu, 25 Apr 2024 20:00:23 +0800 Message-ID: Subject: Re: [PATCH v2 1/1] mm/vmscan: avoid split PMD-mapped THP during shrink_folio_list() To: David Hildenbrand Cc: ziy@nvidia.com, 21cnbao@gmail.com, akpm@linux-foundation.org, fengwei.yin@intel.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, maskray@google.com, mhocko@suse.com, minchan@kernel.org, peterx@redhat.com, ryan.roberts@arm.com, shy828301@gmail.com, songmuchun@bytedance.com, wangkefeng.wang@huawei.com, willy@infradead.org, xiehuan09@gmail.com, zokeefe@google.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 1D95F1C0026 X-Rspam-User: X-Stat-Signature: thf8hawodmmexyrkwfsjepqhqdqyect8 X-HE-Tag: 1714046437-79127 X-HE-Meta: U2FsdGVkX19mpk5btVFxmt/h4e5o/CFxy/jJ5Wc0s773r3r8I26EezHZx0fHi4vUk0aI4zonvnjPz5TF2dSbP5BXIsdd/+McbdgCkWq+fc8uEB1butY8o0tGg1UiybTXsNfW35T7ZhZGUuZ1wzzcm7jdI84B3ODbaf4naaVQp3nu3VjWQW8CkQR5EBe4ToorSMu9PNtI2MWTrCEbyVKTbPen6b3MO6qamkWwfX0IWhMRdtRUpChL6A2/MAYYyVqcwwC76TNd1yLb0aFblat+KmkkC8pRov5vjGRjhz8CSljNG5TKc3dEavJ9OuuAu5iVB+dYmynVP7Rq+VszUxojYvSbSZZAIpHJSy9skbFbvb0BCZK7jw1rk+wDpZEYRAS38YralEOcSKwTb9IUN7sQ1FGjSmeeeKmojiLGOItCGUWk4chrx/0ifw2S00gPw8GpgXwXcQj50mME1L4rWyQtkuf2pHdzfusWreoMfinJFl/BB0GNbpQ9gTasFHM7npOryYy4qbsLTDPGXavYIOXJLJ9Ux7xQPDXxXEqGDplfzyR5W5JB7Y7AnJDHiiirCprkIsG3+KRWhsdVnmTfPziBDicIG460KHfxeabsv+enUl6o/Rx3HiX8mYVUxzv9iwW5vK5kIzXdj5iorwAEU8rFV24/7cq8Ivq4WTHMQusGqiLYxPCgW5hW5jHVO70R6uOHVYrJGGlQjvAr9owdAtX9ZV9CjluwnrVfHEtOmCo+yt23CuwvL94WX1x9v3LrRT7ICZuYkOvU/wORTpDRLvhbKyJ7zGXwHDDjyl5ur2jGGM/7hVLgEz60imTXHOKBQwOo5WpYs4ZbpOU7+r9y0XFEKAG9kjV3CnAcnrndSnNH8hyOVych5bonin8avzoOxwxkazBG6PCvwMD93PD6ktFQ0d1KMuJArPUEMsYN1nvK2xnUPrQ9Bu3hZ3qpYZj0evWT/O3DYUfdq7DRxNSVdMt Il/q5cPS vd3PnGzgCXmFDJhjaDE4siV7/dGZrm2D/hBlqvveXGPszMY9eeFjc7hhij0LtVokwozK3862JzYFvNG169qB6+hOBRQ6eFPWck1adqQhtfQOqH9eLEg1VVdJSXXHA0hadzR+WzyR7316w/1iegfakSn/y2z7SdXZHoL4i9YqrBRdglUjwuYZl3KAlcaCmYQy+foEoZqW3GamW51R5cT3a93KnYgorT0fy4SJeoI21xnWZJI9G2gKo0Zra66uwlKogA60GKUyxdqH8jU6q4gi4qdxs0+Mx3UVOMml7VWHIP0GCmojJb64Jb8JECn8RaO2amMe3eHEwOMS8Yc2FFGIOxOFBYhTCikedGUc3YbgPRJJyW9liUiTALioBtPfVmSt7vU7366W0iGuitNkLTzQBZJiCNGYaymELLhIROefsPds16dk= X-Bogosity: Ham, tests=bogofilter, spamicity=0.001929, 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, Apr 25, 2024 at 5:25=E2=80=AFPM David Hildenbrand wrote: > > >> I was wondering if we can better integrate that into the pagewalk belo= w. > >> > >> That is, don't do the TTU_SPLIT_HUGE_PMD immediately. Start the pagewa= lk > >> first. If we walk a PMD, try to unmap it. Only if that fails, split it= . > > > > Nice. Thanks for the suggestion! > > I'll work on integrating it into the pagewalk as you suggested. > > > >> > >> Less working on "vma + address" and instead directly on PMDs. > > > > Yes, some of the work on "vma + address" can be avoided :) > > Doing the conditional split while in the pagewalk will be the > interesting bit to sort out (we temporarily have to drop the PTL and > start once again from that now-PTE-mapped page table). But it should be > a reasonable thing to have. Yep, it's an interesting challenge for me, but definitely worth tackling ;) > > Please let us know if you run into bigger issues with that! Thanks, I'll do my best to sort it out and reach out for help if needed :p > > See walk_pmd_range() as an inspiration where we call split_huge_pmd(). Thanks for your suggestion! I'll take a closer look at it. Thanks again for clarifying! Lance > > -- > Cheers, > > David / dhildenb >