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 81892C83F09 for ; Fri, 4 Jul 2025 06:11:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2074A6B800C; Fri, 4 Jul 2025 02:11:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1B6AA6B800A; Fri, 4 Jul 2025 02:11:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0CCED6B800C; Fri, 4 Jul 2025 02:11:27 -0400 (EDT) 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 072B86B800A for ; Fri, 4 Jul 2025 02:11:26 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id CC7D91A1CAB for ; Fri, 4 Jul 2025 06:11:25 +0000 (UTC) X-FDA: 83625560130.03.2DC12CE Received: from out30-133.freemail.mail.aliyun.com (out30-133.freemail.mail.aliyun.com [115.124.30.133]) by imf16.hostedemail.com (Postfix) with ESMTP id EAF92180008 for ; Fri, 4 Jul 2025 06:11:22 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=sxJH8Nbc; spf=pass (imf16.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.133 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751609484; 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=eFIDEdjGbaabW/o+SYfX0GCyecdOoVdNRLtkOOBMNxs=; b=34E8BXAE/pf9LvN5Y+fHEm0sCqJIgkaSUcn/7Ty6wKcnmHJsNYPlKqciuBX3xmqOECufIx PyobGHtlfwntfpc2W9oXDx75Hg9ADPK3oq6mSvyiw2SxkQP0B19GPu+MPRt9qHkyQ+4LqZ Tob9FMBb8iz5I6iplU78cioC0wCYiWw= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=sxJH8Nbc; spf=pass (imf16.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.133 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751609484; a=rsa-sha256; cv=none; b=gJRHCGw58i4DhNt+aXbNVTiQa5PyFE8QBGd3c5E1Eui0/iaxu4DRL2uZZvF/7IlTr6ME0S Wy7uMeYIOXhP9A1Hkp14gkVRU4hbA3v95Wm362A03C5lF0vH3A1H/Lg2AeIXWnjlEv62wn LthNxjiWPbkuHb5fff6pe1N3ztfe0vU= DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1751609476; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; bh=eFIDEdjGbaabW/o+SYfX0GCyecdOoVdNRLtkOOBMNxs=; b=sxJH8NbcrbVVQbOGfMep8+ALlNBXH6WuQWUwRyRYUEa1W3oo6f2Zytx6/PCA0r2LbwYz2gw8Vr40fOlwxN9ZL25aTR8PmbYew2bWz5PksbFUKZhnmeiLMIHgeE/FANcF+Ywv9ijbCgGPhkBVATSjWzIAC/qBG6Xu8d0ZUuOPzGs= Received: from 30.74.144.116(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0WhCHD62_1751609473 cluster:ay36) by smtp.aliyun-inc.com; Fri, 04 Jul 2025 14:11:14 +0800 Message-ID: <2f6d9541-8083-4d3c-a9c1-cba0d5bf98a0@linux.alibaba.com> Date: Fri, 4 Jul 2025 14:11:13 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v8 11/15] khugepaged: allow madvise_collapse to check all anonymous mTHP orders To: Nico Pache , linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: david@redhat.com, ziy@nvidia.com, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, ryan.roberts@arm.com, dev.jain@arm.com, corbet@lwn.net, rostedt@goodmis.org, mhiramat@kernel.org, mathieu.desnoyers@efficios.com, akpm@linux-foundation.org, baohua@kernel.org, willy@infradead.org, peterx@redhat.com, wangkefeng.wang@huawei.com, usamaarif642@gmail.com, sunnanyong@huawei.com, vishal.moola@gmail.com, thomas.hellstrom@linux.intel.com, yang@os.amperecomputing.com, kirill.shutemov@linux.intel.com, aarcange@redhat.com, raquini@redhat.com, anshuman.khandual@arm.com, catalin.marinas@arm.com, tiwai@suse.de, will@kernel.org, dave.hansen@linux.intel.com, jack@suse.cz, cl@gentwo.org, jglisse@google.com, surenb@google.com, zokeefe@google.com, hannes@cmpxchg.org, rientjes@google.com, mhocko@suse.com, rdunlap@infradead.org References: <20250702055742.102808-1-npache@redhat.com> <20250702055742.102808-12-npache@redhat.com> From: Baolin Wang In-Reply-To: <20250702055742.102808-12-npache@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Stat-Signature: 7tk4uyhj5iodc1zpfjmdgtbrbep5d7ei X-Rspamd-Queue-Id: EAF92180008 X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1751609482-23747 X-HE-Meta: U2FsdGVkX18kpoOvM5KIg3e4M6OsSHtVRpou7yLa77RxX15ji9XKMuAVtAmwPXRrowhj/h4pqH2KU6Tc98KZ/fk2pnhLNINF3orU+XfCOtNBUViKxyOAMkiuB/eybUuS+B4klo3eAb4kBoBQDVXBXbMdN3nqT3e8flVNtbcqyGihmitLLIRibAqruSMVw78X6c2mptCfHz/bRqjN/4SoiUYJS+X5VFh3SYqvHMoA+k3FrZ7UEj2SQJ+tok+lJBsJjK/r4YZ3n4hXzGIIj3LiZV7x1HMRZDjXzBKiwjqKD0ZPaSPw3N1WALs7jZNJeVSN85fvNWjF23CQZ2SYjT/UMU58qYIH6bjw5cklljgceLZQr6KgIoUk9cajFxDEYx0Nr7eUheZ1Z5gnzGmcnFPgfyaXW5oVeygNlJEpI19oZI3AzWF8rl8tJbRIaIgL/W6qSp6eEf89GI8fY4LbsRh0pWjHvpKj6uEOobL3blTN+otTprBV5m3+q7sHHrq/sli/tHnMsGeEHJ5fZfTCyM/GpAKIaTAB0qVQQWyKl1V4LOdrAsITwluXlPN/BP7EbYpLatZLnPaKLnIQlF1/Ty5741tY2uVwmPTccFfYAl++lrjOjBwJ0Wy/cxFHfmisAYT11FIlCSHjuymBWGV+9h2/9aKjQmF/sUcFoM3qRs31v8Y8+8W7Dt/UgTN3R50xinjPvFBm4fH6eO4AW6F1oc7PD3biMd6ssxxWlcHkGvq3JwmQmWnapPI1kiYLPSeBVlTZLggBal4V3by23FgBH/I27Y6S5zIUNtt9APIM2TcMIE29BGL+A0IjsTCSW6n/wGksFfF0GoyH+82hN8CaAFL54lUcKFHuitkfnk7br2UnY5mDcvpgySne+b88AgVYlBraUuL/YYPTumnFbgGSJ8HMljgtq/g4FK9J4YqUHWUVMBxAjsgxS2AQjJCqh433vftysHNnlUlEB+pTamDiJNJ acPa0gAY kC7LRWpL4W0tiSsRwSxmlJP42QPLR4I2mmhKUdtCPMbWQSjtkI7IAbS+MUdXbH7jwerW2pd6Chro7s93sbO04QAEWQUCvUXeFGSshPnJOX7vsr6HF2ZWHqME+usETGnQsvd5n2g471V/G3mGZ3U4KxbrAxxEP9gbalUvciYSy0PdDOizvSep/Uzz4LrmQMh90EznvWeQ3tki0UzxgHDaOlPFInm+bFCguynFJsVefDnmtv7i+LN1jcujwNsiSvFe5ouAOomEpRW+2kvcw9OKxzrdgBcfx4hwZ3uujjkZhh1o3RHGoh59ZoVPut529A26JimhpHjIC0kjmwIxpu8v5f0MXrO2Vz15Sb4u5/STgW4usv9liYbPP+mX5B7VNel57zF11m1CDrP0Q3WA8sB0IzYYhj7rz69gP8UsDd5H3lC59RaqZzlc0vEh3018ZpvNFMKk820Y9EuN57JNDxuxN5ufzGJBy/7ZYxvUb 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 2025/7/2 13:57, Nico Pache wrote: > Allow madvise_collapse to scan/collapse all mTHP orders without the > strict requirement of needing the PMD-order enabled. > > Signed-off-by: Nico Pache I am afraid we should drop this patch from the series, since Hugh explicitly opposed my modification of the madvise_collapse control logic in this thread[1]. Moreover, since we have not yet clarified how to handle the conflict between the semantics of madvise_collapse and the THP interfaces, we should keep the current logic[2] (means madvise_collapse still only allows PMD collapse). If madvise_collapse is to support mTHP collapse, there will be more semantic conflicts to discuss. [1] https://lore.kernel.org/all/cover.1750815384.git.baolin.wang@linux.alibaba.com/ [2] https://lore.kernel.org/all/23b8ad10-cd1f-45df-a25c-78d01c8af44f@redhat.com/ > --- > mm/khugepaged.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index b96a7327b9c0..6ea681b81647 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -2930,11 +2930,13 @@ int madvise_collapse(struct vm_area_struct *vma, unsigned long start, > unsigned long hstart, hend, addr; > int thps = 0, last_fail = SCAN_FAIL; > bool mmap_locked = true; > + unsigned long orders = vma_is_anonymous(vma) ? > + THP_ORDERS_ALL_ANON : BIT(PMD_ORDER); > > BUG_ON(vma->vm_start > start); > BUG_ON(vma->vm_end < end); > > - if (!thp_vma_allowable_order(vma, vma->vm_flags, 0, PMD_ORDER)) > + if (!thp_vma_allowable_orders(vma, vma->vm_flags, 0, orders)) > return -EINVAL; > > cc = kmalloc(sizeof(*cc), GFP_KERNEL); > @@ -2956,7 +2958,7 @@ int madvise_collapse(struct vm_area_struct *vma, unsigned long start, > mmap_read_lock(mm); > mmap_locked = true; > result = hugepage_vma_revalidate(mm, addr, false, &vma, > - cc, BIT(HPAGE_PMD_ORDER)); > + cc, orders); > if (result != SCAN_SUCCEED) { > last_fail = result; > goto out_nolock;