From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 65B4B33B97D for ; Thu, 12 Mar 2026 02:04:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773281098; cv=none; b=qCHXc/BJ3jbpJ+Pp/C/OE1oQqPSTJgMqHMgcWTjdnXu3RQGt1pSHSxxr414zYUKlfiM2JkWuY0xJi5dz8nLwAezicFRlz5Nr0W1hV50ZwELppfbVxW1wMR9kFE08bGWuyuyJ0t9juwU9xAf4cHnxEMAoiCqm2yY9MTx0gOl7BNY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773281098; c=relaxed/simple; bh=4RrZLHm2IfG07gA3vKXkDNmGfCifXvPJ8ImkeS78q+A=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=hYyaY0v4Jb2CXtFwzwKXFoe81PXo5bt1dS1Lv0jKN8vspJwQgFFqtRVib5199OrHSuyXU6seYs0JWuzHSYWyp+4ZYsq3vys2ILCIJacs2f79TRbDASbPaXDGlZyk1gXuR1se+R2vCBusEUPVEYisBl9bnazkomFeQTYd+9vHDas= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=gHGwsjnw; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="gHGwsjnw" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-4853f2826f7so3904065e9.1 for ; Wed, 11 Mar 2026 19:04:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773281096; x=1773885896; darn=vger.kernel.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=ynAFUJJtII0mylZNYRwUKR0xXIdbuRFV4B/tKmZAGC8=; b=gHGwsjnwiSrzSTJLmszA2Z/QK85Xf7LHVmhMyiRWwJsZTxFhh0IR1lx+hat2BaF0Th ywZlwCtZa6h1UM6T9DgF3FdCuCgRaqA9On4w2veaEh9EfIQZEjvl3+FY0e7Tut44skSA qXge7+k7iAe1aOWQIdHwjTQCvdeWlwQEe/CzEB/rH2XUkHX42WgObTeDp9u2zVpqV91W p9gb4KxMr8QTc3gu8DMXEBnxvSJUXO0KVNLm4M5PeeY+hUriD2d7emQJEf9DqPGNe/ia OOsDmsQH1onXrr2gaPo4EXKjB/2f7+w+GzYV78gY1ZhTfcGN/geNkqY7efhwbAhkPC/M oHlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773281096; x=1773885896; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ynAFUJJtII0mylZNYRwUKR0xXIdbuRFV4B/tKmZAGC8=; b=be/M/qAwtuzpmGXp3RK2GUIqF7eBdnjSX1FyFoR8gkqpaBP39oHsK/89wlCFzVXYpJ matO9DH0G3Z+q61qATxnqdDNU3lvEdlUv5X1xR6g7dQVuh7+c/tFAyGJUh+p67aTPJx3 CqSm3Hl4wEpLoWIqmtVFyg0WJ9DBSqqyl5S6JO9trNZkfDlh3/YpHqw/N3qytutE7iDP qt4mmIrnZWsxzaloGs0FluGJdwo2+RiXHbR1SAV29oWt6XRC/c0z1AR5JGnrSDsNa22f EhLB240o8OAzPf1QowuwuM9VuhFkV29c4zBdvkdmecLzIReYRtRaPK2jbdCP4ixIsTkY mNPw== X-Gm-Message-State: AOJu0YwsGz6P3RLNWio7AeYZLhcctuS7/JfJH94eMEmgcB8ye+T78SOp Y2lWFWON06kbNk/02VJp6vcuJq4S8FyhBFyZXMXbLfnpKhfMpaytMSlY X-Gm-Gg: ATEYQzwaYnwTxJP4d6S8MsTKQaPLi/CzK0+256+5GOZIfIiBjiFcz4C05xd0TQzmUvZ JtJ2YV43FDCw1Kasikb40WPqcMMlJ0+AUJUk2UIanXPpgcmF26V9uS6ldToo9QO7z5GeOIKzynP EaTWBkHNvzX0BH61iiKGb4s5WsXXIY08o6R/Bxq/oh6HjOBTCUqpmE5ynaAQmaCrmgQeVGuliF5 GF4sduYqb/lPVdAs99uhJdbPYLjmBtas1bKKWPGTxL9OV9u1ASBXcSCR4VoNvlU+bu87bCX06PK xLBmiHIzTioUj2rJoSOcmVDiMZpv6H+DeKG9k0tOZ3XJ7N6uLcYFb6uq6JPQiZW1srGwSDHPwG3 d3QKqBneiEV/6l0C5jyjMG9KabuUpJyWbjX3Eq6FQQVhkuFOdDgMY02L22mprq9TITeNa4ocFRn nK3uhlPBS3NpMAH+ZEGmiwou2cRrWZ+21V X-Received: by 2002:a05:600c:6297:b0:485:3ca4:4ef4 with SMTP id 5b1f17b1804b1-4854b0bb5d2mr78741805e9.9.1773281095548; Wed, 11 Mar 2026 19:04:55 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4854b0c2961sm29489225e9.15.2026.03.11.19.04.54 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 11 Mar 2026 19:04:55 -0700 (PDT) Date: Thu, 12 Mar 2026 02:04:54 +0000 From: Wei Yang To: Nico Pache 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, richard.weiyang@gmail.com, 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 Subject: Re: [PATCH mm-unstable v3 5/5] mm/khugepaged: unify khugepaged and madv_collapse with collapse_single_pmd() Message-ID: <20260312020454.qpwjldisaqcstjer@master> Reply-To: Wei Yang References: <20260311211315.450947-1-npache@redhat.com> <20260311211315.450947-6-npache@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260311211315.450947-6-npache@redhat.com> User-Agent: NeoMutt/20170113 (1.7.2) 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? > case SCAN_PTE_NON_PRESENT: > case SCAN_PTE_UFFD_WP: > case SCAN_LACK_REFERENCED_PAGE: >-- >2.53.0 > -- Wei Yang Help you, Help me