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 9437DC4332F for ; Mon, 13 Nov 2023 20:07:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1606D80007; Mon, 13 Nov 2023 15:07:43 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1119C8D002E; Mon, 13 Nov 2023 15:07:43 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F1ABC80007; Mon, 13 Nov 2023 15:07:42 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id E03338D002E for ; Mon, 13 Nov 2023 15:07:42 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id B1D05C097B for ; Mon, 13 Nov 2023 20:07:42 +0000 (UTC) X-FDA: 81454016364.09.680BDEE Received: from mail-ot1-f53.google.com (mail-ot1-f53.google.com [209.85.210.53]) by imf12.hostedemail.com (Postfix) with ESMTP id CA5EB4000D for ; Mon, 13 Nov 2023 20:07:40 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=GpnSe+e+; spf=pass (imf12.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.210.53 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699906060; 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=dEByVYW3w3u8i6rxkJh2qboL9UB0XJt7vpSFoPdqZFU=; b=rQ6HtkenKcehxcrRv914/boE4tNJQYDbV/IFEmTOvee7id4xVL9RZydTvjcUXAaa4VywLA kHNpuOMpx/AnxNZNZpcgCmy1gBy049iu0TlWSQi7Mm+QiTt/UNLMQfIkysftT80Ml5sqZ+ +uofHv2IGfk50x9PSY8DSuIpjqwuhB4= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=GpnSe+e+; spf=pass (imf12.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.210.53 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699906060; a=rsa-sha256; cv=none; b=Ox+FJj2giA8ufv38PM75f7h3Fi5zXfSw2q6TrUz2k0OIjQrJDXp7hDmBvF5fJ03WcVwQTY TfQy1QBuPgZTlJY7cipCXLmVzIGSPLDa0VxdWgdSDYqOsgjLJZpUMvNgm5ur8eR2ey8cjp f6d/7uSY+SEXPrFQPpPUwhSxfcCBYRU= Received: by mail-ot1-f53.google.com with SMTP id 46e09a7af769-6ce2ee17cb5so2909291a34.2 for ; Mon, 13 Nov 2023 12:07:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699906060; x=1700510860; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=dEByVYW3w3u8i6rxkJh2qboL9UB0XJt7vpSFoPdqZFU=; b=GpnSe+e+QyzlXjMh4tk3QGUWNxbn67ci39FNyD3ltRwskOSU6DXTuqN6QUZUg1t8j4 /V3zMbugdtCGFjeWtDhUEmNQKXZ+Sy4qjB4brOkePBOrJwFzggN4VQnYl0R2kH6kPmi1 Ht8Q75A4k4LqVXJHkh2Dlk3io6ApVQIIFDl9ibe8rPWaa/mSDj/zr3qlf6A90WUOJpWu dr0bikNpb1Rg2HXE7Eb8ls7JUFpIM+HW/wD92LTAunc6liwk0STr9jz0N0PZXRj0uPN6 BzY8btHzNnRQFYNaZvNpPNFWx22/wct5Y/76lqlw0ty+FPieGJtFK5zfbrEBHF8KVCZi MyDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699906060; x=1700510860; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=dEByVYW3w3u8i6rxkJh2qboL9UB0XJt7vpSFoPdqZFU=; b=jJ53mHJa5rXTcO1rGwWl7YMwT6xMfz5cXDG4Oli37Rb6ps7IVgb1lQ49kQCN8AgpZ7 dM5yjO81rSYlNT/ktcvb2yhYr3F0mnWiyXDEic8obHZnN9UmxpsZJNzRxKJBpXGJcWuy /dHPVPnTRwGiCiLhnbxu7USif+LBSEtjSMD+gZuaVUPSyFWVXAmtaDVSmzkdtljw2yVs +8C7uULdmiARwhGI/z0SavBJAqza1PiApD9aTGDp4PN2J4Ed+W2HgVAFqHTB3zh3BA+A ix+fPzLd8SdOUt6UpQdao5toASgKY4ZweJJ2wVwSoSlqoGAVUn1JNCOrUngISPtGGzA1 Uyzg== X-Gm-Message-State: AOJu0YwbD5MT8HNKWk7USUwRbnQ8CSJTUnIYIpOV3DfHjF9KIPODmsXx iISzCNjnY4sQn5AvxC4ap2U= X-Google-Smtp-Source: AGHT+IEIOvonU09L3k1xVPZZ80bxCzc769XtxO+lg9jyKZOvLWkuvuhJ/Npd6TRTMPRkdfH95nWhlw== X-Received: by 2002:a9d:6f89:0:b0:6d6:4cf3:d908 with SMTP id h9-20020a9d6f89000000b006d64cf3d908mr163151otq.33.1699906059975; Mon, 13 Nov 2023 12:07:39 -0800 (PST) Received: from fedora ([2600:1700:2f7d:1800::46]) by smtp.gmail.com with ESMTPSA id v13-20020a05683011cd00b006d2e04a55e8sm883574otq.14.2023.11.13.12.07.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Nov 2023 12:07:39 -0800 (PST) Date: Mon, 13 Nov 2023 12:07:37 -0800 From: Vishal Moola To: Kefeng Wang Cc: Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Matthew Wilcox , David Hildenbrand , Sidhartha Kumar Subject: Re: [PATCH v2 5/6] mm: memory: use folio_prealloc() in wp_page_copy() Message-ID: References: <20231113152222.3495908-1-wangkefeng.wang@huawei.com> <20231113152222.3495908-6-wangkefeng.wang@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231113152222.3495908-6-wangkefeng.wang@huawei.com> X-Rspamd-Queue-Id: CA5EB4000D X-Rspam-User: X-Stat-Signature: 7r7w7pmgetimi96phqpbr4ffthtyw8ec X-Rspamd-Server: rspam01 X-HE-Tag: 1699906060-72650 X-HE-Meta: U2FsdGVkX1++adrThS/idu9D4GBm8nFt6HytC1QL2czhRla1fuW6ieDycvf/jK2pXZqSbEYmuX+CBKgNF4vgtdCl0MJsetYB29zwM5cIiq29tcePmnd8oAOQlqxujuGTSGk6QHZY56mVFBsUTbghkpMlaYqooHk1sSZklZL5c1OgReVGmUHKL6wFahaCtuTrXoXD3/b79jnXuKD7I9TyQoVfsneJjCGnnLHj91b+nZ+r2FDWmbc4sUTGOmje9pSzWm4GwQuABMdAygRQc7qhE0mwmUvE07LE9EO395B4rvMBMw97d1S087j31e0sUQ4IVP/rn+eClVt6fNrPADsEsbhpO70JUbYJEiDQB34+dAeoPqihdE4E4GacIJCD8OsfF4u/G9SMugJHQnhkC7tv1fuHbPDmrPhgFBciLvJqug+20ayWeiFhEE7QbDLS9/aoBXBVzhIa5v/tsDHMijlK8ASntBaVjq1anINTYB1qw1WIqfZBCEsRz7dF4hzjrccXqFF1D1WVLjuW/t8dFTGEjCdFk3bNJGGaI1mPrPAsT4nCgECCyNTD4mwQiL3GoDlruWt0u07j0b/MQ+tENKmZZ/ovLkmh5WtdHN8b0WJuaTk2+8CCpPk4vpE2+gfxj44dTUlbzouppN2A9t0/ktBNVdPJjZe7bwqFfoSYTwQ1wIpuFtHogbyuiEA8lmJK1OuSisMOcOxJbVAcTv9t+iH3Aolrzc3dSiFW1ncGWOK+kjP4LXPdHIFK34jZolp71Gqh/VHu4HTacKbu5RZ9LhvhJ88kdd4bVfCpdMEA4oozddv45JIQs6AIYMMwLvU8BahsQGtzZpRUbik7UGdanltd4tvlTSgc1+S83M6XtGCwjSo1axVRqPY/+CmcvfBPjlftIaI3twvRQ+/AD/Hea6hBrbLRH8OsQtQxmy5Z6LdwUYSEWSiU2dlUsXF4yT8VYTZCKbSpZLW05zzbpJAD127 ONaRs5qS YbsSlwfIpPABC6gVQzdHA+GNL0paF3a46gL+86sc0reFsBHuBrp0Q0nJHw1k5HGeU0GoUI6CHotfVpvGqONasCuDxDnMwUx2C8oBKLNYkiJ68KNnTbx4ota3CiyLQWNDwrJzOweNMpYSZabAHao739Qg9QL+dV8+NmUT45WxudCMdH7Vv6gVisapR4GUzzx1PoaqO+Nq3x/rLB1c3W2luln8KXDowjZ1EurXR+GdPAMQ1PdocaKGrzQ56sIoc8zoa+0TUNX8Ipt7nyztmZQM8ab1BGehPtG4jOMRBM9NcPAA/vtZ/lK+0fYTLydQQiLzBgMxdGjH5mInFPx9l2axvp/Fw8Vv4bnbq4FfCr8C8107rqHmvfY2zoIF+KLkvj7h8kbaqM5HVUMBkJdpP14zSQ6EzpctUUubZTH5TUOm8/LZNi6hWI1c7OMUo6ErHaC7mqoeHQ8p6HxrkhG1ivhlA/2ztUjb0xbG5dutL+XSYcLCa+ZZ/sIhCAL/+0dNAjd+abnNguam/NSFS2/IR3ExwnxXuRsodYIVRJsvvk0yv/XBlCxApsIVo68jg1w== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000139, 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 Mon, Nov 13, 2023 at 11:22:21PM +0800, Kefeng Wang wrote: > Use folio_prealloc() helper to simplify code a bit. Reviewed-by: Vishal Moola (Oracle) > Signed-off-by: Kefeng Wang > --- > mm/memory.c | 22 +++++++--------------- > 1 file changed, 7 insertions(+), 15 deletions(-) > > diff --git a/mm/memory.c b/mm/memory.c > index f350ab2a324f..03226566bf8e 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -3114,6 +3114,7 @@ static vm_fault_t wp_page_copy(struct vm_fault *vmf) > int page_copied = 0; > struct mmu_notifier_range range; > vm_fault_t ret; > + bool pfn_is_zero; > > delayacct_wpcopy_start(); > > @@ -3123,16 +3124,13 @@ static vm_fault_t wp_page_copy(struct vm_fault *vmf) > if (unlikely(ret)) > goto out; > > - if (is_zero_pfn(pte_pfn(vmf->orig_pte))) { > - new_folio = vma_alloc_zeroed_movable_folio(vma, vmf->address); > - if (!new_folio) > - goto oom; > - } else { > + pfn_is_zero = is_zero_pfn(pte_pfn(vmf->orig_pte)); > + new_folio = folio_prealloc(mm, vma, vmf->address, pfn_is_zero); > + if (!new_folio) > + goto oom; > + > + if (!pfn_is_zero) { > int err; > - new_folio = vma_alloc_folio(GFP_HIGHUSER_MOVABLE, 0, vma, > - vmf->address, false); > - if (!new_folio) > - goto oom; > > err = __wp_page_copy_user(&new_folio->page, vmf->page, vmf); > if (err) { > @@ -3153,10 +3151,6 @@ static vm_fault_t wp_page_copy(struct vm_fault *vmf) > kmsan_copy_page_meta(&new_folio->page, vmf->page); > } > > - if (mem_cgroup_charge(new_folio, mm, GFP_KERNEL)) > - goto oom_free_new; > - folio_throttle_swaprate(new_folio, GFP_KERNEL); > - > __folio_mark_uptodate(new_folio); > > mmu_notifier_range_init(&range, MMU_NOTIFY_CLEAR, 0, mm, > @@ -3255,8 +3249,6 @@ static vm_fault_t wp_page_copy(struct vm_fault *vmf) > > delayacct_wpcopy_end(); > return 0; > -oom_free_new: > - folio_put(new_folio); > oom: > ret = VM_FAULT_OOM; > out: > -- > 2.27.0