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 0F159E77188 for ; Fri, 10 Jan 2025 19:01:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 936536B00C8; Fri, 10 Jan 2025 14:01:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8E4FD6B00E6; Fri, 10 Jan 2025 14:01:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7ACE46B00E7; Fri, 10 Jan 2025 14:01:46 -0500 (EST) 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 5AEB46B00C8 for ; Fri, 10 Jan 2025 14:01:46 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 12D3F140E76 for ; Fri, 10 Jan 2025 19:01:46 +0000 (UTC) X-FDA: 82992461412.09.450C284 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf13.hostedemail.com (Postfix) with ESMTP id 677D42000F for ; Fri, 10 Jan 2025 19:01:44 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="l00/ui3M"; spf=none (imf13.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736535704; 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=q1i8rljs3Gh9LpFws/XGlM5n39kz/FWZi4Jf8kWWcd0=; b=STzvHv+hKzhctZXDCIkTjb4fotg9n20OKft4L341OmOoe+MVIITnnAvwfa0GJEiPFQgI58 C8yi8Fx8XeXBEbd3VJQxbzfapLqaJLqlFxbs9SjLAZUhJD4CKGyHMu7MEFs4dt/98wxEOU omjRyr9AIEemDZR/gKJ0xWkXlN+TnKM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736535704; a=rsa-sha256; cv=none; b=yJgveV3VZwW/qRla7Slu92ay7bKhkUrRVkIyiGtwl6ha1idbhnakOj1Ji+GPnc+U5gN7BB 1ct1Mlen4CbxA7H+lKt0bTptl3kjaaSF+kzS6hfzZTXMSRfhaDplcGn+8rgGJnwEgqAxxZ b3LakogTIr9qEqEEncVewXCEwfHBlzU= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="l00/ui3M"; spf=none (imf13.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=q1i8rljs3Gh9LpFws/XGlM5n39kz/FWZi4Jf8kWWcd0=; b=l00/ui3MmKgaF7EbE9ofGdfJvR 6Y0qpwkSKC2oJxxRD7pYns1JT9yUGzjkX6+28ES/hQAtzzjKjU/WTb1WdGFmUp4jA1M0JCbYVTiKT kcU3MVaTd1VzOWKnLeZ9YXMAKWi9g4+RuRbXQKjL4J+a39y6KtIrjtFdMki1XnLocrY5F3h7PFkmg YHQ9X5grKy8flRU++vdtZKfzLgzRzoU9x6ozQC6X7MRDQco+hTwLlgnqSqrxBA56Pby9QDhyd0HNt yO0qRLWN2+YZBNn8zGojgdLh1ToNK76oEIpvX0WRDi0I8PYvloqXPm302EnycxrsVKdT1h55A9iCX n9FrcazQ==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1tWKGI-0000000ECsS-1JGF; Fri, 10 Jan 2025 19:01:38 +0000 Date: Fri, 10 Jan 2025 19:01:38 +0000 From: Matthew Wilcox To: Yang Shi Cc: Liu Shixin , Andrew Morton , Chengming Zhou , Kefeng Wang , Nanyong Sun , Muchun Song , Qi Zheng , Johannes Weiner , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm: khugepaged: fix call hpage_collapse_scan_file() for anonymous vma Message-ID: References: <20250109070059.369257-1-liushixin2@huawei.com> <037d4442-4d2d-4aeb-8091-5efffc374d36@os.amperecomputing.com> <8e773a7c-e1dd-4e0e-8349-8aa52f39d85a@os.amperecomputing.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <8e773a7c-e1dd-4e0e-8349-8aa52f39d85a@os.amperecomputing.com> X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 677D42000F X-Stat-Signature: qwdmr7zrba3g16s1abgba45xwasmquai X-Rspam-User: X-HE-Tag: 1736535704-409373 X-HE-Meta: U2FsdGVkX1/K3OHQCN2ZfM6t2UBW2+AsEBJcNTN1YzUozepB6/LvRJ1ulx6HGbWyKHImN3ldKdMIWfHRQMoKHLcBD9DuJ/U8rYkm5Nr5d/leOv4EAF2qSOXQxw3QIv2GfhmV6Xz5IkMRoCoa/TyFH1FNKvozfUYtGX0O2Hb1TXHEK8QFDlhvPIVyo6jgW+fSO4ZPbMRYqNLmr4eUhD1TKZwGM0byqUUKAb0HTVsLuYceyl81RqIQtTXFKfx5f8VAeo28MvrTYrX5Z8XklzxlW5LWvJ9feRg5MFhAwwEC2MpQ1sjs4Pf+y70RN/OObV+txfWVKyxitmA7Ck4DCQboB/Ots0Eye5GOOttmA8VF/9QvZlRj/W2OEENIb+fz0rrMiG01cEm8uNhngEqgLRAEZTuuvSLi9K85VWKxZaJiCoSNec/5+9fxyK4Fuxv1BzhBfMgMN7tEl3dnb8GgfwG786YVBtUarYTsGrCwN8ZNFaLSutwjf3r9dyJgNTWog7r9sl+nYsK+/wI1n+5HvJ0+pVgKw617CEo68E/wj/YVtb0IjTLNJSBXqGq6Dt9EhRqKJzOQeVa2vwmGyuSMe8u+ykV3MmUnrnX5BqASYjAfmETDNRBjC8uW9Dw28rQc/PjX2XeP2ffhtvAFfadFXpudo55HrjuYeqXWZfqTMvx69ZAb/Xk1D3C2XbZJRxaDCe0WnR2qJ4jwktJPxBCS7y+olQIgAEfYOOIpRAq8q5kM0pXzG0J7NQuPTJcLyWCdbIfeY2HCWgoaCp6dt9zmMwlIl7MYbduV5ieRuKbgsLblpBQUhgoWx6OhYiOflMG6gdzOJPE542Lt+RGMU18YXoBZFuspptIO6SkRflpkIQCUmY+UH/gmPo/1p7wXPGaB6+5t8r7Gnp/XgT1Vqnb2mZm85J8SA4s/rCV6/4bGiftK0qM3NHcweOowgqVUxpsF72fNHvsjqH6VW8GsGv6WwGT XbHC040G dtSt0A2q6pgH/tbI6GWouRgU9nOurXw5VnIk45NusspuswD/xtOa9q/2N3Fdhs52kEZq7MLUDmrKmuQis40VoA2BFS9IpKw5Fe9SyfBn2q1BpBFhPFHso176ZHoyo3QbBXOxGCrNBSIzguivl0MfzfK4ezVOxTfNEZHIB7qVjvltqyApgqUttaGsMWmG6cwmaHQX6X95uR7MmazBKxBnGPl+S/2ohAkJ4xJ1O57bYevKZJg/dKoa6n1N67GOUgGHTWFy5TxHXWt8zUEr/eG5ky4gZmIgo5T5nP1m0Z/eL25pgwRU= 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 Fri, Jan 10, 2025 at 10:04:42AM -0800, Yang Shi wrote: > On 1/9/25 8:31 PM, Matthew Wilcox wrote: > > On Thu, Jan 09, 2025 at 09:00:24AM -0800, Yang Shi wrote: > > > Thanks for catching this. It sounds a little bit weird to have vm_file for > > > an anonymous VMA. I'm not sure why we should keep such special case. It > > > seems shared mapping is treated as shmem file mapping. So can we set vm_file > > > to NULL when mmap'ing /dev/zero for private mapping? Something like: > > > > > > diff --git a/drivers/char/mem.c b/drivers/char/mem.c > > > index 169eed162a7f..fc332efc5c11 100644 > > > --- a/drivers/char/mem.c > > > +++ b/drivers/char/mem.c > > > @@ -527,6 +527,7 @@ static int mmap_zero(struct file *file, struct > > > vm_area_struct *vma) > > >         if (vma->vm_flags & VM_SHARED) > > >                 return shmem_zero_setup(vma); > > >         vma_set_anonymous(vma); > > > +       vma->vm_file = NULL; > > >         return 0; > > >  } > > I'm wary this might cause other bugs somewhere. rc6 is a bit late to be > > introducing such a subtle change. > > Thanks for the extra caution. Applying the proposed fix in khugepaged code > is fine to me either. We can try to kill the special case later. > > Looking at the code further, I think we should do more to make private > /dev/zero mapping an anonymous mapping: I'm still nervous about this. We map device inodes in a lot of places.