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 502BDEB64DD for ; Mon, 3 Jul 2023 09:29:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E14788E009D; Mon, 3 Jul 2023 05:29:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DC4458E007C; Mon, 3 Jul 2023 05:29:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CB3908E009D; Mon, 3 Jul 2023 05:29:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id B9E588E007C for ; Mon, 3 Jul 2023 05:29:51 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 791881C7EEC for ; Mon, 3 Jul 2023 09:29:51 +0000 (UTC) X-FDA: 80969778582.04.B23B6C7 Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by imf28.hostedemail.com (Postfix) with ESMTP id 96D0EC000F for ; Mon, 3 Jul 2023 09:29:48 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=none; spf=pass (imf28.hostedemail.com: domain of zhangpeng362@huawei.com designates 45.249.212.255 as permitted sender) smtp.mailfrom=zhangpeng362@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688376589; 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; bh=n50xwwUeaWsnoh9b7DbBP8QWgnxsOPv8kdiqn9FY/t8=; b=6bK/UOy6WLW0kHTkYqueb4rthP3DHUujVc0hoXHN0xkZBMoBSsYdfZOPNZS/pE7Yi31NYn 1OiRic8fKZVdapT7LxwRO9ncC15Zzy0i+Ox2opvFKh3DFWMZ4w+dSUAWqdxy4a+AigGHwE iisP7M3m7fujh5WmrZaCow8w3S3GxLs= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688376589; a=rsa-sha256; cv=none; b=UNfylBbCfPbFV1Qwa3Rrp9a2jUoR5EQSM0T6nSBIfyKnP797+d+2akmb6FrdTlb7/7wLX6 DOFeTNi+KIzycSZD/62zh4/yVe7gG13X+ivPqKuUPOMX12gLFHVHUPEripNs497CVINOYJ zWecLfhH+X2VnW/Vq2fNTgSd0IcNJXc= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=none; spf=pass (imf28.hostedemail.com: domain of zhangpeng362@huawei.com designates 45.249.212.255 as permitted sender) smtp.mailfrom=zhangpeng362@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com Received: from kwepemm600020.china.huawei.com (unknown [172.30.72.57]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4Qvgc16Hsnz1HCqn; Mon, 3 Jul 2023 17:29:21 +0800 (CST) Received: from [10.174.179.160] (10.174.179.160) by kwepemm600020.china.huawei.com (7.193.23.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 3 Jul 2023 17:29:44 +0800 Message-ID: Date: Mon, 3 Jul 2023 17:29:43 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: [PATCH 3/4] mm/memory: convert do_shared_fault() to folios Content-Language: en-US To: Sidhartha Kumar , , CC: , References: <20230703055850.227169-1-sidhartha.kumar@oracle.com> <20230703055850.227169-3-sidhartha.kumar@oracle.com> From: "zhangpeng (AS)" In-Reply-To: <20230703055850.227169-3-sidhartha.kumar@oracle.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.174.179.160] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To kwepemm600020.china.huawei.com (7.193.23.147) X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: 96D0EC000F X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: e9mzmektxs5oqcqadf1usq6mf1e5jxat X-HE-Tag: 1688376588-453391 X-HE-Meta: U2FsdGVkX19VwoQXf1Z9R9BoW74/3BVMk/vWiJ1a6DErYwP51b4ecOsKoc+pb3kYrYjWt7omHcTGoqKWYvY005gQgoUh8pJkkCqdpqkFHw05Oz8RzmbbPYke9+ZwJt8nNO5N43IvIw46CA33HwrDFpHDMca+DWfQSB/BgCPiEytM92utujZzLXGG4gQW7vLukALrLoHGAWidFGsm/GPR+De/pDob6tWzNzdz8TnFdOIhOu8hdKnAZZ9Dnj8cywaNWdmaqk1ymcXwY7waDQA0rN1S1y+HYbCxuqGhcdinm+rhphJaaPu5XDuCJj2pJU+k2z7bU1E2d2UDHmk3r9sAb1bsUHgXoWJmgouZ5JAPAAMWf09V7uKy+wBADTDOb/KOEWZxkBxZqBB7Ljdyz0fBJa4onTj/sxgVBsam3AnfRE08sOf0wL3/JpIN8wudaOQpVTZxLU0eV/GL1n+A7MsgwoSACJszPLhEAGJXeTNBUIZIz3ZIuSgljZmpU2STC9np23NcPUkV3VKCnsqK/paj0hyQLUOAMMkzckrBveSPtM4QYhhERVxjBTamGJZENwh6OdbJP1cyFJjOqqXaiVQ2onMecflbFw7QSTeFXZkzoSvwoJvSX7jT+AzJKldKELooRdumeXbeAa5Tj8e2pdHPP2BMdMONhFL4OoGz9/fYERHWqlMEVGfQ29rCviuqB5hKebJqf/6LELOzlpVbq//QClugqgOz1WrueJOjKn5O3ZVJLqa1QZAd+nINeXixPYJWDmdansiwYQf/yCjN2c647Bc1XJULxKt/iFJp+guEOREP5lDyFwYZ2ToEtd1BQeFxxYxQ59zTj3E4kma10S7BlGz3hrsfzEk/hJH+Z47/o8ACTBT7qaNhPxvmkxpYY/R4qtpP7csmC1fPXaT+9ukyHoar3xCTXBvY7gc99ER/ORt4EedRKlcp5BBmDGgf76eaBAhC7KgpwCwHPj78c7F 5/1z62xm XQL7J/RAN2eGDVcEAVX9ZTdYW5c1bGEr0tSJ0bDK7M2UmzErgd/w/R6QjbDjdYrQ+ce1xvQYGdRPAANEQce0IEA7WDVI8cfH3z5Pz4DaGg1GHtCjl58deCWyIerQvc9RcOjSPXxx3tbR9AOQzZ5M0FoFnGcaVfw/wGR2hjKNkGyvW1sWFXixm9mpfiJ9Bt9h+e6eW3Kq9NoiaBCKe2c8OlOAGmr8sxFBkRsb4 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 2023/7/3 13:58, Sidhartha Kumar wrote: > Saves three implicit calls to compound_head(). > > Signed-off-by: Sidhartha Kumar Reviewed-by: ZhangPeng > --- > mm/memory.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/mm/memory.c b/mm/memory.c > index 93480e846ace6..33bf13431974c 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -4594,6 +4594,7 @@ static vm_fault_t do_shared_fault(struct vm_fault *vmf) > { > struct vm_area_struct *vma = vmf->vma; > vm_fault_t ret, tmp; > + struct folio *folio = page_folio(vmf->page); > > ret = __do_fault(vmf); > if (unlikely(ret & (VM_FAULT_ERROR | VM_FAULT_NOPAGE | VM_FAULT_RETRY))) > @@ -4604,11 +4605,11 @@ static vm_fault_t do_shared_fault(struct vm_fault *vmf) > * about to become writable > */ > if (vma->vm_ops->page_mkwrite) { > - unlock_page(vmf->page); > + folio_unlock(folio); > tmp = do_page_mkwrite(vmf); > if (unlikely(!tmp || > (tmp & (VM_FAULT_ERROR | VM_FAULT_NOPAGE)))) { > - put_page(vmf->page); > + folio_put(folio); > return tmp; > } > } > @@ -4616,8 +4617,8 @@ static vm_fault_t do_shared_fault(struct vm_fault *vmf) > ret |= finish_fault(vmf); > if (unlikely(ret & (VM_FAULT_ERROR | VM_FAULT_NOPAGE | > VM_FAULT_RETRY))) { > - unlock_page(vmf->page); > - put_page(vmf->page); > + folio_unlock(folio); > + folio_put(folio); > return ret; > } >