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 40C92C636D3 for ; Wed, 1 Feb 2023 14:34:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AE1396B0071; Wed, 1 Feb 2023 09:34:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A91A36B0072; Wed, 1 Feb 2023 09:34:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 932DC6B0073; Wed, 1 Feb 2023 09:34:48 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 7E4046B0071 for ; Wed, 1 Feb 2023 09:34:48 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 2643F140901 for ; Wed, 1 Feb 2023 14:34:48 +0000 (UTC) X-FDA: 80418969456.17.753701F Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by imf13.hostedemail.com (Postfix) with ESMTP id 5FA7E2001F for ; Wed, 1 Feb 2023 14:34:44 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=shutemov.name header.s=fm2 header.b=mNBRZRLp; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=FEtIrsP6; spf=pass (imf13.hostedemail.com: domain of kirill@shutemov.name designates 66.111.4.25 as permitted sender) smtp.mailfrom=kirill@shutemov.name; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675262084; 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=8YlPPBpn2LKXEaRUA6kwovicUg5L0TsptKghpMpefbg=; b=MplJkcduo/6VcZzB0ZfVdsLL1V2Trt49vd37y8M7ohOED0VGL6wvDiQmmkySxxGE/flGQ3 yxO9FsB3PkialUhfg2DwzCM07GMsSgFdyx0wlYF7pCelXwahoq78VwOBHFZBmRg8pcbkzc UlLsAIKuvoYsI5DRmmCGVgAl5Yy8ebc= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=shutemov.name header.s=fm2 header.b=mNBRZRLp; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=FEtIrsP6; spf=pass (imf13.hostedemail.com: domain of kirill@shutemov.name designates 66.111.4.25 as permitted sender) smtp.mailfrom=kirill@shutemov.name; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675262084; a=rsa-sha256; cv=none; b=1Z4jkk/B64G11YySDeBjpzXdlyG2e5Q7csBcafm6pvTzcvs+j2oC/g8dBdtnR2hfR9EVhs 7AGuTiirFvYU0jKfgT4nw5lFaKpaR4kEof9cjaC6zHXiqJEkrGQpEB8sSaXeXJuLO8ffwT HICcmZQhs+vLL9apRbc/WSyqO0m4+G4= Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id A800E5C00E0; Wed, 1 Feb 2023 09:34:43 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Wed, 01 Feb 2023 09:34:43 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=shutemov.name; h=cc:cc:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm2; t=1675262083; x=1675348483; bh=8Y lPPBpn2LKXEaRUA6kwovicUg5L0TsptKghpMpefbg=; b=mNBRZRLpJVx4UvWaDO 2UKsIFsduXFkdvUGNVZzgCr6sPKOYI9dsnCbHwZOtF1i6nI7vHx6TTnCIgjmf947 wPTvaVBTt4Zf4BGe+oLA/eqLPLpc1ejiaMecOGyTg0gxKoEasysuzKJoOuiv9Khj SpaL0mseolsrPuoFQut70i9BpcbRGFWqbUR6rdTYg4wwFkspkxrHiNAM0k2ov/3u xvObBhtKWHZeAA6ISfH4RxDdlMJ2xUhr8QxWq1nGFfm/g0arOVGWbxcwl/TpzUFn gPfQpOjPu1jtsFWXz8fJ/7eSEMJpp8QHugAF/DcEIp/ySshXfF570EZ3zfUDvCuv diVg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1675262083; x=1675348483; bh=8YlPPBpn2LKXEaRUA6kwovicUg5L 0TsptKghpMpefbg=; b=FEtIrsP6s/z7lmMKGmww7SpyIUa4gVbwOfcHKl09loU1 qGSmtIVQ6Sch+XNoomvXvbtXIzZYqAD3XHMfVEvJo3RFiMI3Ts26pnei8YDW2PX4 ymTKXrDcC1slikf0MmhNPIY15xy3hkwuEKqDfdGLArvTeeHnqx2gzelaP5XOXZc8 +qbYXXLlH1g5j6pqd0ILmg1KburA3qEh1niUxdt61StcYD0TzOOr4VVJ0Xu4BmW0 F2XYM54jJMRIuvoycrk0WDU3OcXND+qEN2ik1xmvu9FKJZM5M+vl56dSESGehy/7 rR5g6Qqg5KbPqxRyW12HRpoP7SpaTnx3gGsoU6u/AQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudefiedgieeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvfevuffkfhggtggujgesthdttddttddtvdenucfhrhhomhepfdfmihhr ihhllhcutedrucfuhhhuthgvmhhovhdfuceokhhirhhilhhlsehshhhuthgvmhhovhdrnh grmhgvqeenucggtffrrghtthgvrhhnpefhieeghfdtfeehtdeftdehgfehuddtvdeuheet tddtheejueekjeegueeivdektdenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmh epmhgrihhlfhhrohhmpehkihhrihhllhesshhhuhhtvghmohhvrdhnrghmvg X-ME-Proxy: Feedback-ID: ie3994620:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 1 Feb 2023 09:34:43 -0500 (EST) Received: by box.shutemov.name (Postfix, from userid 1000) id 49A4E10E3D2; Wed, 1 Feb 2023 17:34:40 +0300 (+03) Date: Wed, 1 Feb 2023 17:34:40 +0300 From: "Kirill A. Shutemov" To: Yin Fengwei Cc: willy@infradead.org, david@redhat.com, linux-mm@kvack.org, dave.hansen@intel.com, tim.c.chen@intel.com, ying.huang@intel.com Subject: Re: [RFC PATCH v2 1/5] mm: Enable fault around for shared file page fault Message-ID: <20230201143440.5mgy3x76wb32x3tr@box.shutemov.name> References: <20230201081737.2330141-1-fengwei.yin@intel.com> <20230201081737.2330141-2-fengwei.yin@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230201081737.2330141-2-fengwei.yin@intel.com> X-Stat-Signature: d53qmuj514jd9akezsg548q4ccibu34b X-Rspam-User: X-Rspamd-Queue-Id: 5FA7E2001F X-Rspamd-Server: rspam06 X-HE-Tag: 1675262084-402732 X-HE-Meta: U2FsdGVkX19cc2IqoTz0koA9Q2xV8+9rTLKuHCaY4Tad0DexiAQ3hx7f5ucqKg6v9YlGcwaIuBPcsliCBafdZuW3A4828kWruAfl5HBzU7uFJ7U5kMUcORcfLVGc/ZBCbznj5TDMl8oEhZPQFIQ4b9TnlU7hKSautk6qGY07lJVuXrjiy3nH/A2uz3Sy5khVQNB834qE6yjyXZSu7iR9K1jSdfxMB7z//3xnpbWUli3v6oCQ3Arhg5Ph5Tb0uLHuGhR7Zb9zdDGb1165bl4oRCNd08faDMkPTiyRrfey067SWwQCvrASsWtH4SYL61Czw7gOTNxX5Xu2SVy5lwx/NR6h0MXD6pzC/GIRTDZXC0X06OwQrDtSVMffCdMgqJ7CeZAACAoJhXyjJjJC8BlD+QHG252PLVD/I25diLLFyWxto8EUgRGZ6TnqPmp6iB626NW8w4yu5XBXKOcFIpV7Usu3SY40cFyXkKc4dGqLZipzcUc7i2JDKYz5IuyzFscmEIoScp4WFaX1938FxRpnSRXo2s+/Rtu65JFVNl635eDjBNG29+OIjRQvuytufmyMf1nYPJeo091DvbPP8LCjibnIk7/Jy56t9qAtaj9CA/YU2uLiaSGL0oyt1NFrXbYERw8ITH8c6Jk831aNEMhGeSgfAEhkrUuEwybJgfqF0/TN7bV4sbc7RjSRV0o3IbdiuTNhMZfwkFC51DcXMk6qJz4R4MWVEGMn8iz0JQqUPE6Z/RsYibB8waHysaObDjjBG0pkbmT8zWeetNrV7IxbRv5hMqQi4MOjlJl+KWrwrjGOl6sCh7NXG84rZHJwqbgBUDCp1/hOgCMwV2RhgHn7z4dytQgh5SLYuc2MQTWQWP29Su1R5TznFNLWlGo3UUxqngtXWx0WjHyvY9d1YiNaHasRozef/lsahpsfPi0OfFrPXQW04VMXV/VkjClhfnx09m/EKsywCywg9fbRuJx jmoEEI/h 7BfiapcK7eWplxIhTsAJKH9JAcAK7usCbYBGMt/+yUh6PBxJuTG2wbOS/vRreAgN/CAubfXbWj0xF/9zaTMZz9JlYzioW+cFZ7LZDc968CqwGMnGHxR+osquSsAdey+Sh4EeBbYYfUFIozk6owndmNA6nGDBRVb6ldljhhxmh2mIM/AXDxO5vCgJFNcmA00aEYjhChmKE5DlSE9uY5sbRKyw8xjQIn5ZLOqTBWr5HxJYmHLk0MslY6QH6IExqIEoLNK7uR02VyEV1gnzwPsPLLW5kFtcBBYRsy3v35CpdAVmeTDLna/ilh/LpER10W6rAK/DGUH/bOjq3qKQx+kd34CruwBODjlHW33doaWCSfx2qdk1ke6oEUmhyZVxWXBWs76xBt0ZskKK3rXc= 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: On Wed, Feb 01, 2023 at 04:17:33PM +0800, Yin Fengwei wrote: > The shared fault handler can also benefit from fault-around. While it > is uncommon to write to MAP_SHARED files, applications that do will see > a huge benefit with will-it-scale:page_fault3 (shared file write fault) > improving by 375%. > > Signed-off-by: Yin Fengwei > Reviewed-by: Matthew Wilcox (Oracle) > --- > mm/memory.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/mm/memory.c b/mm/memory.c > index 7a04a1130ec1..51c04bb60724 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -4546,6 +4546,17 @@ static vm_fault_t do_shared_fault(struct vm_fault *vmf) > struct vm_area_struct *vma = vmf->vma; > vm_fault_t ret, tmp; > > + /* > + * Let's call ->map_pages() first and use ->fault() as fallback > + * if page by the offset is not ready to be mapped (cold cache or > + * something). > + */ > + if (should_fault_around(vmf)) { > + ret = do_fault_around(vmf); > + if (ret) > + return ret; > + } > + I believe it bypasses ->page_mkwrite() completely, no? So you get a writable PTEs without notifying the filesystem. Smells like a data loss. > ret = __do_fault(vmf); > if (unlikely(ret & (VM_FAULT_ERROR | VM_FAULT_NOPAGE | VM_FAULT_RETRY))) > return ret; > -- > 2.30.2 > > -- Kiryl Shutsemau / Kirill A. Shutemov