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 01865C5AD4C for ; Thu, 23 Nov 2023 15:33:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 55CED6B06CC; Thu, 23 Nov 2023 10:33:34 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 50D4F6B06CD; Thu, 23 Nov 2023 10:33:34 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 422D16B06CE; Thu, 23 Nov 2023 10:33:34 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 33E766B06CC for ; Thu, 23 Nov 2023 10:33:34 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id EFAABC1722 for ; Thu, 23 Nov 2023 15:33:33 +0000 (UTC) X-FDA: 81489613506.25.E212760 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf27.hostedemail.com (Postfix) with ESMTP id B62C84001F for ; Thu, 23 Nov 2023 15:33:30 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=PeUjdDV6; dmarc=none; spf=none (imf27.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700753611; a=rsa-sha256; cv=none; b=fjr39uEH8bSVxP1dqyZQeChcPqQrTUm8pIxPPjz7ZpMcbcCiYPjm0tXH0nPlMTl9E+sB/t W8AncIkAD38sM5r8qiL/LptERVhcAGHRTeyw4DOe0qT/TNsiQcmHaFDnohMAYxU96uIzfh UjMo6FRnwL99XKFifPk8Iwkelp04aFs= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=PeUjdDV6; dmarc=none; spf=none (imf27.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700753611; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=lcBqM8Wl6XOhrKp7ul/lshfIyYoQqNbwEPoZDFKrPwY=; b=VJNNYWwfEs75FDjpi3xfPY0TlvHS6G58BbmCtL/kCjsWnx62okGLeLX4qxZ1KnZFUmwLYu +W+VAiR/QV4uDuAMZrmlAqvmX/Z+7km3rvwA7ZzGxOOw/Y7YuDBy9JnzHbbpborqSQJeuP t9ghCST8DAZDCDGvTUu8NN4Cb/JJf38= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=lcBqM8Wl6XOhrKp7ul/lshfIyYoQqNbwEPoZDFKrPwY=; b=PeUjdDV6c4u9zzodFRg2rl4FY4 1qAC0oL3gk3f8k+NsVk3o7qaXBvwK+enhseLX45OB8UejZd+o7oK0x7vyWnG3WBu8uxfKlPFwvGZV YxWhY+fFkeWG3XimhrZYTD8VjVhVPet1T2I+/jcPyrl6+LoLVI6qhDdevEDAQ1/pG/T6mtvoQMM4s wI/GWuR9pNSg2aQT2MOLc+vsv0SdkaugHEx9kgaKQ54a159r8ur3ySZuaWdsLXdRnAivbT/yBien2 tz39hGt0LCnpPtNKz8SYnIZinOOfvqAZaTPTikaXt11Aslf0Xsw030lBcdeG370FXJyvpFV9ZL1mr emueBlXw==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1r6BhX-007feJ-Mn; Thu, 23 Nov 2023 15:33:11 +0000 Date: Thu, 23 Nov 2023 15:33:11 +0000 From: Matthew Wilcox To: "zhangpeng (AS)" Cc: "Huang, Ying" , linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org, fengwei.yin@intel.com, aneesh.kumar@linux.ibm.com, shy828301@gmail.com, hughd@google.com, david@redhat.com, wangkefeng.wang@huawei.com, sunnanyong@huawei.com Subject: Re: [RFC PATCH] mm: filemap: avoid unnecessary major faults in filemap_fault() Message-ID: References: <20231122140052.4092083-1-zhangpeng362@huawei.com> <87a5r4988r.fsf@yhuang6-desk2.ccr.corp.intel.com> <5b0e168a-dd43-80d4-2eeb-5c8a5d470f5e@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5b0e168a-dd43-80d4-2eeb-5c8a5d470f5e@huawei.com> X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: B62C84001F X-Stat-Signature: 3esqef7u4ra3c4r3f7ehoxpnf6ny4pob X-HE-Tag: 1700753610-793499 X-HE-Meta: U2FsdGVkX1+bjRO6duH618ITxSh1EHOd4q2dDqWvs3QLY6OOynIaMiQhoO9s1nGVs3I1cvTKHHVCSAT/puWQPYjKN6eFiAaD52nLisZirf68nq99f1qtDwG5e5dPyL/w0VhNMl3CrH8StvdDqwGsQz2B/7f/bZ+XcExqpQ5TpdT9PdCLDKcZSA+qPgoARs+fRwrulqJovgylaLNBM9dKxuDe6kvpvkkgIuNaZrIcEYcKlheenPBODbua9QhX6aZf7jAJSKPpb1iL7N7SE67lDC1al4hcPbtKmfDM3rJA0dWEjmyyy06mnkmXN9qRwwYdI0H7erYuc10u5rJ02CxF4TZavNgn0e1ocVVzZeNSRMUIw0pPuprpLLJxCpj7smFjdfBW1sDdMKHY7Wc5bcr2F25+HMcECQWj2yzWyfaLl+Q8RBDk4w0e1lLPnCKTSu/2tEZAg9MHKWnGHBi0SC534ShNg3mQvDM7OYK676k9F5IJOEcwFxcoRcXAqhw9s9B+qUODXjXZW0VZ2Cotx0AM6Uow1usKV9Chq+KB2S9FMOqW0LMQ31QnRnMuGAIZdRdYLeJrHmWbwjrFFA6+yX/Nn6aKv6t4lmhM6YogmkfjXTS8RxexX8cZgeSOXTkd73BVanhhbHi8UY+TvIcseA5gZW5b0pN5+BsxdwOxhKPAPKPB6gd88BYYraSBoSdGFKwWPwGgMsOQw+ZLtBiv5uWqDmxCbnvCNHHcudoqDibdnWcMDrc5dKAxsmsP0/1DeXGhDO4/NBBcak2t3MgNVbORdJhlxPSIonPBJOIRZW6hPQpCl6zdcTpqDlwqsY9FJM7WgqNiWq3f/xplNIO+6bfjwEUsLJhhjbUzT8DKprm8vH4QfH3dGnGMeHtRSICT87SeDYTV9Nj/MtGMhOxwtbBGOO0O0RWXAVLV/4ePqgKQC26iDhsvynV/mmDQWJ0p9SIUqyNpxFVVIFOUW7i+wbz 0UG5TGpF /lA00gVzZ4TIpbSOMvAPsYy39UO9IDmT/ctGYq8m1EZzkhCsKyj+uZwjMpCgWcTx4xdB8WDstv7KVNZmk2yETku3NOot9CnsoaIKTNVjUmEw7NGQHqa3QE3G5NJNNAcL7g4kiHvLoGjNvqujchhQyqdZ5Naj5aUtPeukUzT5Wp8SbvHqi/+crhz3wL/8oWcHWDerr4+nf5vp73iLWYZZv0/aECQ== 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 Thu, Nov 23, 2023 at 05:09:04PM +0800, zhangpeng (AS) wrote: > > > + pte_t *ptep = pte_offset_map_lock(vmf->vma->vm_mm, vmf->pmd, > > > + vmf->address, &vmf->ptl); > > > + if (ptep) { > > > + /* > > > + * Recheck pte with ptl locked as the pte can be cleared > > > + * temporarily during a read/modify/write update. > > > + */ > > > + if (unlikely(!pte_none(ptep_get(ptep)))) > > > + ret = VM_FAULT_NOPAGE; > > > + pte_unmap_unlock(ptep, vmf->ptl); > > > + if (unlikely(ret)) > > > + return ret; > > > + } > > > + > > Need to deal with ptep == NULL. Although that is high impossible. > > If ptep == NULL, we may just need to return VM_FAULT_SIGBUS. > I'll add it in the next version. no? wouldn't ptep being NULL mean that the ptep has been replaced with a PMD entry, and thus should return NOPAGE?