From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 356572571A0 for ; Wed, 18 Mar 2026 16:54:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773852868; cv=none; b=FlzxMbAyUrNF0meBecyd3evmZ26Q5ro/kW+WQDE2JXXlfWEEO2thMLgbTiIe3u7WCt6V7vOEz6XhBBImsFD+q12Z4p27q0VDBOTRCfHf9mRDkg4T8JUdnd7S1BLTvSqA61/5ep1/TzHPvtc/mbPNkjNmb5lFbeX2A2V+vCGNPwo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773852868; c=relaxed/simple; bh=OQtiAVy2TltOIF/uGXBDpsdMOI1EfEEgpSsNocM0klM=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=U0drl7DCw3/Ed1syFezWWpG5HI2bvwgARiy9ihnzPnXQQAaeiDnaik3FI0Jvoy1LV6VI3iwrQr3SWUGbqLNvuMusYnvW1fL4PYpkFBEICaSaWpq12xNK/FPgVyMz4x8YhGC6DhrF7SRPYpJpSbj/xsxyMi0Fs7yZ9wkId/uY3i8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=TRQoWLI+; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=Tw9bGmF4; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="TRQoWLI+"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="Tw9bGmF4" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1773852866; h=from:from: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; bh=5OuDH7w+MEOkpCyOkBC284YTNWCtVlDRe0pmxFHD+ck=; b=TRQoWLI+AwIqHGLuy0zas+naJhpSpi7niHW1L0c9d7iJh5bLsh7NWmEATrvr0dgmYYSvtM +0GLahVjYFVkxKeUDstCEIQ79E+IFCG67/qTQjtk6210OKDOragJ7tasNtYwYTPuCXUE+T oxYzqMFDhvhI/gjn6n+HaK0dO30l4C8= Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-594-3thsEexbPISlXKtziaOOpQ-1; Wed, 18 Mar 2026 12:54:25 -0400 X-MC-Unique: 3thsEexbPISlXKtziaOOpQ-1 X-Mimecast-MFC-AGG-ID: 3thsEexbPISlXKtziaOOpQ_1773852864 Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-899edf01747so11905726d6.2 for ; Wed, 18 Mar 2026 09:54:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1773852864; x=1774457664; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=5OuDH7w+MEOkpCyOkBC284YTNWCtVlDRe0pmxFHD+ck=; b=Tw9bGmF42bb5l3nOSAvo8sEn1n0wQ/OKNGC8mo8opPG1lftI0AqIPLI+EkktWa2NAY qvBfWun30id2SGm+ICBUfmlKLN7/CtCqCP4ayVKt4EexcFI14fz4q3Dm57iQ/95Oc/6W 4Vm/AstG9nzjNdak3Ic5u05V8jHYz90B87MKW0uDOmDP0SVaoXGqvfV4NwNC2S2Or0i5 Q11Owr+hcWTaTOxdE7cq0PmiIfHkcJpnEAvLoat+uGzJEOKhQufNY/AxTvAJ+DU7LyKB lL5y0BGimA2uK/xWUzlAqS+eabopPX8vkEGxnrARghxsHqzNa7IZAz3RGuhqbT01cl+J II2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773852864; x=1774457664; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=5OuDH7w+MEOkpCyOkBC284YTNWCtVlDRe0pmxFHD+ck=; b=QH3Llkj+1Vlo4PoJaH1/B8SdYc04UmkS2acvNyJ+B5e8E1K788Q1nXBQ2+LiRAaXO9 EYSSpx/lkrNU4HicQkCzDjkzghMM0uJHrZVN2EmI+/4bFQL+QSTIkdFSce96F9xH2S63 rNwx2D8CyW77OBZAjJhShrcyQNzGVwYflzWVnsPHXb/YrYAjsTZQsh4QnTNQ8AMfWmkP n940l9clTk8MBTMETN1g5yK8lEoraTI/Bd5cIv3NsdgAwM7aOunyDAeziaV+vU3uvCW6 QtRHtYNGm/AEm4upOO44m2IgDwRUHEFALNg36F2IKgMEx03VKavlTlN/+6lpCbjVEgEM 8sGw== X-Gm-Message-State: AOJu0YzEyu7pdkUEtZA03fQ0aLZRok6Lnii5vZlgZRnFp2jEki1bv0xn cxb1c1j+ak7EQGZQD4AW2GkC6V7BZhamHBYEl47fg1BxQ6SdDv7W2yIEsMtAlug5lyqLoqmlO5b zDzoeqAZb8obLe40YZAuqSJOOiDzNMOBy9M2fibw9gwEB/Kw/0dE+ESqdt4GAjIB0Lw== X-Gm-Gg: ATEYQzytu5t9sekwqiBrnSbER7QyMd6Y08apPslEP9qpibFoRWrG5q6vElMR2dPcx06 3WB2S4Os3OWLe+n61Cepxgt2pkrKiWumARuBpFs4g2DTcwJaHoFj0vvIHpn8dcLmKIKVlnc7jfB LeD24Hfg/jc2Qyc4KuJVpNYCMbLyppLhiMpnwyZUmW6Wi3MRh0iWda+QU2T3e4r2EFAHwzRTZOq TODmRFbfI8fPwIY3AKHrV6dwJxHX9WKf5GPUjGUFDxAL5kRPZfd9yX6mRBXWIwhldVxUc9DPGMh l3Z7L1pZ/hsy7AOMqVTp32v+SlPiHIly/U1RmTZhMirCeuo6EgPczvatEoqhC8gIGNAnWFzI1gi 9zHFpFX8RgEyDV8Ne+63mN5RvVuHXxghj7Et1DPkzpi6uurYjwFndBxqpolzW X-Received: by 2002:a05:622a:5d1:b0:509:1253:fb27 with SMTP id d75a77b69052e-50b1476270amr53569181cf.15.1773852864237; Wed, 18 Mar 2026 09:54:24 -0700 (PDT) X-Received: by 2002:a05:622a:5d1:b0:509:1253:fb27 with SMTP id d75a77b69052e-50b1476270amr53568281cf.15.1773852863475; Wed, 18 Mar 2026 09:54:23 -0700 (PDT) Received: from [192.168.10.111] (c-76-154-99-94.hsd1.co.comcast.net. [76.154.99.94]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50b135d6194sm26020621cf.28.2026.03.18.09.54.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 Mar 2026 09:54:22 -0700 (PDT) Message-ID: Date: Wed, 18 Mar 2026 10:54:17 -0600 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH mm-unstable v3 5/5] mm/khugepaged: unify khugepaged and madv_collapse with collapse_single_pmd() To: Wei Yang Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, aarcange@redhat.com, akpm@linux-foundation.org, anshuman.khandual@arm.com, apopple@nvidia.com, baohua@kernel.org, baolin.wang@linux.alibaba.com, byungchul@sk.com, catalin.marinas@arm.com, cl@gentwo.org, corbet@lwn.net, dave.hansen@linux.intel.com, david@kernel.org, dev.jain@arm.com, gourry@gourry.net, hannes@cmpxchg.org, hughd@google.com, jackmanb@google.com, jack@suse.cz, jannh@google.com, jglisse@google.com, joshua.hahnjy@gmail.com, kas@kernel.org, lance.yang@linux.dev, Liam.Howlett@oracle.com, lorenzo.stoakes@oracle.com, mathieu.desnoyers@efficios.com, matthew.brost@intel.com, mhiramat@kernel.org, mhocko@suse.com, peterx@redhat.com, pfalcato@suse.de, rakie.kim@sk.com, raquini@redhat.com, rdunlap@infradead.org, rientjes@google.com, rostedt@goodmis.org, rppt@kernel.org, ryan.roberts@arm.com, shivankg@amd.com, sunnanyong@huawei.com, surenb@google.com, thomas.hellstrom@linux.intel.com, tiwai@suse.de, usamaarif642@gmail.com, vbabka@suse.cz, vishal.moola@gmail.com, wangkefeng.wang@huawei.com, will@kernel.org, willy@infradead.org, yang@os.amperecomputing.com, ying.huang@linux.alibaba.com, ziy@nvidia.com, zokeefe@google.com References: <20260311211315.450947-1-npache@redhat.com> <20260311211315.450947-6-npache@redhat.com> <20260312020454.qpwjldisaqcstjer@master> From: Nico Pache Content-Language: en-US, en-ZM In-Reply-To: <20260312020454.qpwjldisaqcstjer@master> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 3/11/26 8:04 PM, Wei Yang wrote: > On Wed, Mar 11, 2026 at 03:13:15PM -0600, Nico Pache wrote: > [..] >> @@ -2823,46 +2855,20 @@ int madvise_collapse(struct vm_area_struct *vma, unsigned long start, >> hend = min(hend, vma->vm_end & HPAGE_PMD_MASK); >> } >> mmap_assert_locked(mm); >> - if (!vma_is_anonymous(vma)) { >> - struct file *file = get_file(vma->vm_file); >> - pgoff_t pgoff = linear_page_index(vma, addr); >> >> - mmap_read_unlock(mm); >> - mmap_locked = false; >> - *lock_dropped = true; >> - result = collapse_scan_file(mm, addr, file, pgoff, cc); >> - >> - if (result == SCAN_PAGE_DIRTY_OR_WRITEBACK && !triggered_wb && >> - mapping_can_writeback(file->f_mapping)) { >> - loff_t lstart = (loff_t)pgoff << PAGE_SHIFT; >> - loff_t lend = lstart + HPAGE_PMD_SIZE - 1; >> + result = collapse_single_pmd(addr, vma, &mmap_locked, cc); >> >> - filemap_write_and_wait_range(file->f_mapping, lstart, lend); >> - triggered_wb = true; >> - fput(file); >> - goto retry; >> - } >> - fput(file); >> - } else { >> - result = collapse_scan_pmd(mm, vma, addr, &mmap_locked, cc); >> - } >> if (!mmap_locked) >> *lock_dropped = true; >> >> -handle_result: >> switch (result) { >> case SCAN_SUCCEED: >> case SCAN_PMD_MAPPED: >> ++thps; >> break; >> - case SCAN_PTE_MAPPED_HUGEPAGE: >> - BUG_ON(mmap_locked); >> - mmap_read_lock(mm); >> - result = try_collapse_pte_mapped_thp(mm, addr, true); >> - mmap_read_unlock(mm); >> - goto handle_result; >> /* Whitelisted set of results where continuing OK */ >> case SCAN_NO_PTE_TABLE: >> + case SCAN_PTE_MAPPED_HUGEPAGE: > > It looks we won't have this case after refactor? > > Current code flow is like this: > > result = collapse_single_pmd() > result = collapse_scan_file() > result = collapse_file() > > if (result == SCAN_PTE_MAPPED_HUGEPAGE) { --- (1) > result = SCAN_ANY_PROCESS; > or > result = try_collapse_pte_mapped_thp(); > } > > Only collapse_scan_file() and collapse_file() may return > SCAN_PTE_MAPPED_HUGEPAGE, and then handled in (1). After this, result is set > to another value to indicate whether we collapse it or not. > > So I am afraid we don't expect to see SCAN_PTE_MAPPED_HUGEPAGE here. Do I miss > something? No your assessment is correct, should I remove it from the list? I've been quite confused about requests to list all the available ENUMs, does that mean we want all the enums that are reachable or all the enums that are available as a result? Im guessing the former based on your comment. Cheers, -- Nico > >> case SCAN_PTE_NON_PRESENT: >> case SCAN_PTE_UFFD_WP: >> case SCAN_LACK_REFERENCED_PAGE: >> -- >> 2.53.0 >> >