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 DEA3EC6FD1D for ; Thu, 30 Mar 2023 18:15:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3DBBB900002; Thu, 30 Mar 2023 14:15:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 364E26B0078; Thu, 30 Mar 2023 14:15:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 20513900002; Thu, 30 Mar 2023 14:15:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 0DE896B0074 for ; Thu, 30 Mar 2023 14:15:50 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id CAB581A0A7D for ; Thu, 30 Mar 2023 18:15:49 +0000 (UTC) X-FDA: 80626368018.04.2A4F1C6 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf12.hostedemail.com (Postfix) with ESMTP id 231F740025 for ; Thu, 30 Mar 2023 18:15:46 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=vmOB4pUn; spf=none (imf12.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=1680200147; 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=NEpKJ7AUMjbrtNaWAPLx1nc4ouGcsx20blnZLkDljQ0=; b=sKBKUMO6T3iKBz3HGtBc89UdOJMwZS7bGumFC3dU+XVzN0UHmqfg7l+UU/X+pE57mqOIQV HzOKGayHkusXaqOq5BUq0S9IOAzRaRUY4wsQcXHFhNSCgF8QyBaNUOaXViS8xZBzTn5pId 8Wrt7amrS4Fgi8r+S8xGuC8NcphHzIc= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=vmOB4pUn; spf=none (imf12.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-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680200147; a=rsa-sha256; cv=none; b=yHHP9gO1SweIilsdU7rTIbc6vHB9RbE0piYtIj3Lie1CJKZecv6+nrjqIBteskha5md4W7 Jrh/gHa4enIpi1nf+kBliO7u7laBG/OBQEOo4MBPdk/KlaMWyquiCNVRcVA4D3pdj+wukR w0uQ82QnHEUpFvxzKyfSkNGkV6HA+28= 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=NEpKJ7AUMjbrtNaWAPLx1nc4ouGcsx20blnZLkDljQ0=; b=vmOB4pUnsAwl4chabYAiIvENHP iAm/Q6hdG9EiCMzQGu19KvVNjzemGfH99CUK6IIqTKhHMhBlpsJ7uBCCTyyq0oNGzXYkl5ZrHPY/4 G5K8xJCLzu/rxePzsFaeQyhONknjqt2kNtpJ+pecT/ecof+kcIJvRdhBgCDrTyvWxR6giZdmZD1Yv stW1zDLszpQa+QoWV5QInFyZhHnVJq+4aQAhbgAlBUDxbXket/esN9UDLbUhLlue56zI0+RtNY0vT b9REr+6ef9aHRNThfTv+s2rjDW8dJY/g/jLv3MZqxRJRnUVj6vgUhQi+273/RkNQ1UZKQcqzjQ/Hw vdK35UlQ==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1phwoH-00AeHZ-Rw; Thu, 30 Mar 2023 18:15:41 +0000 Date: Thu, 30 Mar 2023 19:15:41 +0100 From: Matthew Wilcox To: Peng Zhang Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org, mike.kravetz@oracle.com, vishal.moola@gmail.com, muchun.song@linux.dev, sidhartha.kumar@oracle.com, wangkefeng.wang@huawei.com, sunnanyong@huawei.com Subject: Re: [PATCH v4 5/6] mm: convert copy_user_huge_page() to copy_user_folio() Message-ID: References: <20230330134045.375163-1-zhangpeng362@huawei.com> <20230330134045.375163-6-zhangpeng362@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230330134045.375163-6-zhangpeng362@huawei.com> X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 231F740025 X-Rspam-User: X-Stat-Signature: xr97mfubykexxpw33hekcutr1tuo49wr X-HE-Tag: 1680200146-285171 X-HE-Meta: U2FsdGVkX1/C3pu7F6Kjcah8pR72INvZUBRq6HKkwLyRH6wpSQN10YC6KokakPJlwvE0VgB+j0M3vdZvA1TKZJe5xMHApfSsgyLodJE4aAMIJD+/FLHzEDuYFv2PKvzPIf+Yu4X8rD49hAlGQF+IGYmmB3eNOmU/Dy0PxsowbKYt0W3CK8S+P4RL1StQLjOtJXVOtEGVonTINYhLJWdiSZBwhCZRb3EicrJAoks5s4+3v5eHLZN9rOwiKmeDRCkk/JDwWqF559YVo0wbEtny7aGE2scfP+dNBnVxxxtsqjUmPMkJQfCtVxAD0l6NjLYpW/kIGL50eWASu0H8+5XQl0lBfTBQ+G9pyEngjwGf7V1W0Fu++mq5NK4iuTlUKuyWInSc1v0Zr1cFfGVTRgjkC9/pdrYnPd5SKs1jBZhy6eNwEu/nOk09B1NE19Qmmpt3BbfrY796AIhBISsi0d8SLxRxhrEhCuBMOtU1K9BWXIiudZuuDVAx3LuPIjbuDK5CuCQmOQUdFdJhl80bfgcEGeNiLYNQF1ibRWfcwo9NPhn0rZVSNU24J4BOBXEcukqFev8LTIrrJO8Fu+61YZzks71husdFAoGJGNlmJLoGpVpe2YHHCxVp9zR3EP84Hv2fKqYM6oBYzmvj2f9igBqRG5C7VJnwfIkUwWjVuZZCzPBcJ3lMzdMqoIX0CURS+E3ohtN+P1XPmt7BLmxY6CsHFSkW3T0rwLFfpl1aQAON02p8SxOj6UelggBnt7nU4f9HXT6e3WHXZD1ON4bnTCD9Hqx9F0p1H7RbXNtxtKR+kgkR6y49qcwd7orUVoQZQqvX78iWjTn32HGnaTftcXdyrNHSo3aPYarNdVJk5Yw1Qd+rs0scj7Bm3Y5mLhOtEzZzFp800xuqBsKnyj+5eAB/UzgPRy9kGYHI0hj8LBzEnoRcIC1vOscKY5ZqS3B2c1G/WDQ+Sd9HtoFRf7DU/sT wrxc5SS5 nwwfMTazwQYuqXdJJvjLrXov1NQoOyufY3uddl/W2WLSB0BKsZIBN5XE4cKh8XHNsmA/7m2YgcPgnmitZB5o1sAnCvFsivA4Erj/jAtMZpAVOPy25DKEgzSmHfIM9a2Dw/OphXGld4kyFnN7LKJkXD64yPaPgBUsLsfB0rclGCJCD9s135UwKFH6P0zoPLqElrD34xLmcKHNYntSmRQulVi1e6RFeJf5ShzwzgsFglnx3usVzbQ4ulmtzre1bL6E7JbNS/1VDpx+xewo9yIGYhSi2ow== 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 Thu, Mar 30, 2023 at 09:40:44PM +0800, Peng Zhang wrote: > +void copy_user_folio(struct folio *dst, struct folio *src, > + unsigned long addr_hint, > + struct vm_area_struct *vma, > + unsigned int pages_per_huge_page); Do we really want to pass in pages_per_huge_page here? We can get that from folio_nr_pages(dst). > +++ b/mm/hugetlb.c > @@ -5097,8 +5097,8 @@ int copy_hugetlb_page_range(struct mm_struct *dst, struct mm_struct *src, > ret = PTR_ERR(new_folio); > break; > } > - copy_user_huge_page(&new_folio->page, ptepage, addr, dst_vma, > - npages); > + copy_user_folio(new_folio, page_folio(ptepage), addr, dst_vma, > + npages); > put_page(ptepage); This function should be converted to s/ptepage/pte_folio/, but that's not for this patch series. > - copy_user_huge_page(&new_folio->page, old_page, address, vma, > - pages_per_huge_page(h)); > + copy_user_folio(new_folio, page_folio(old_page), address, vma, > + pages_per_huge_page(h)); Likewise for s/old_page/old_folio/