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 4ECC6C77B61 for ; Sat, 8 Apr 2023 04:42:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BA50B900003; Sat, 8 Apr 2023 00:42:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B55326B0074; Sat, 8 Apr 2023 00:42:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A4438900003; Sat, 8 Apr 2023 00:42:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 93D846B0072 for ; Sat, 8 Apr 2023 00:42:56 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 5ED164086F for ; Sat, 8 Apr 2023 04:42:56 +0000 (UTC) X-FDA: 80656978752.06.17129AC Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by imf22.hostedemail.com (Postfix) with ESMTP id E5DC2C000D for ; Sat, 8 Apr 2023 04:42:53 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=none; spf=pass (imf22.hostedemail.com: domain of zhangpeng362@huawei.com designates 45.249.212.189 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=1680928974; 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=3MntQXQbVGCjMe/kz/wtBL3/PYoEMOw4PsL4XRtiWVc=; b=sJfmFZZZrEr44jlJOENcs0eMr/HKqzlDOCYV/gOb88vqGOnJS28S2MPLjfEjisXFFxRyOT l83jsERxV3rvcXtVQIWXFL4bqOTVq1R2HHJ9qwu1adHUATAb8HBYeCmihpxZj2qSLhbBGB c++y8sUmAXP589bz7qSVoyimU36PQqw= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=none; spf=pass (imf22.hostedemail.com: domain of zhangpeng362@huawei.com designates 45.249.212.189 as permitted sender) smtp.mailfrom=zhangpeng362@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680928974; a=rsa-sha256; cv=none; b=lbAAN4Pn8ivCc2scJs4q4xh6Nq5vE8LdrJ7zuPZ9RuOkuWydNCwI3TCZU815lI9qk/OsVi gGt0vo+RfvyqdoHS5U37RHYxJsbOMz/PG5j8DMEobeVi0sxH1vpIvSBBljzpu4ERYbwEa1 u4/tUgXQ65zDQl4uvaAJTPWwdJRnsO0= Received: from kwepemm600020.china.huawei.com (unknown [172.30.72.57]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4PtjJD0v7DzKrJw; Sat, 8 Apr 2023 12:42:04 +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.23; Sat, 8 Apr 2023 12:42:42 +0800 Message-ID: <35123e7f-093a-ef90-0c14-befa67bd565c@huawei.com> Date: Sat, 8 Apr 2023 12:42:42 +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 v5 5/6] mm: convert copy_user_huge_page() to copy_user_folio() Content-Language: en-US To: Mike Kravetz CC: , , , , , , , , References: <20230331093937.945725-1-zhangpeng362@huawei.com> <20230331093937.945725-6-zhangpeng362@huawei.com> <20230406235537.GF14244@monkey> From: "zhangpeng (AS)" In-Reply-To: <20230406235537.GF14244@monkey> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.174.179.160] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To kwepemm600020.china.huawei.com (7.193.23.147) X-CFilter-Loop: Reflected X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: rhxafo79zir6to1bbnk5fbz7zqjnpbf9 X-Rspamd-Queue-Id: E5DC2C000D X-HE-Tag: 1680928973-763557 X-HE-Meta: U2FsdGVkX190lyugA3NQwVKm5oMVkfegJHuex3gvccySxoU+pWvpJ9nntFIbn8mS828Hk6TNSwXEhnblpga4OmEQzZV7bBiZJ8NEhc8licftBXV15IK9dpbRnfAQAYpAmTuFOSt+WdxMKATd47bdcZqNqqggtYJac/NlttoLukQ4op0H6LV95oM8sUNX5+WrFkQ0mpw//EN4K6x+kXtS2OFdJjopYU7oIvugDU0gG71qZriIeZznfgSTv+hYGg+B7QxFuhmalUbOaKnOSBDysERK3oz/OJ9rLiSaHI7p5vcM9/A7g2Kne8nSTAyNb9r/YQ2cHn1/YYNl5rFieycURzC/9wsKWkPQosdjzPvqKln1MBd5y/KsxJYdjgpzT4AAis47iTsfnlZGaQvpfFpGNuEgM6ERpXk39qkWT7b3NucJ0KvXcCJsvcJmADznV2lRWfthrL1MXQwy6Cc5Rjo/Hazj6aK7BGWrBlwgQuCwLsh7e6cFelEsgMuEFiYvDOLlYjAWMje4zfjsqHrtSNMh8HhrvtWyrg2KKlp4dPNi1n2tWtRE3CHvR5nfX8FoSdfHGzSnOxesytgmFmjRt6i/fpQ/vt/eivyM/VldrEu29w8Nzpzt0vMGlHpbi1sCXg+lXCAe56MaSqLpuBNd8sWk28AXEYkrsqj2mV+MuDCO970RPfy8JNwySWDLYIYq0XYcZbwcJE+qpuW3KhqWh54tEboCdWcCJmjEORE7aHDC0jiPiLklysoZ9P6y+aklemCeH2eNrlgyBqFqJcNYT5IjYxz1PGH1UEfM7PcBo0YocbYfm+qbAYhInkjSmAJN4/rn7qkZJpXIPKjFusfY0fjYG8ELI5nHe/onAS4bTAfyPTYinKx9KeCxIEJp+Cu9qi6poMFpxDgD8ugHLm6BzDrfdK9h3I5qhJxDwHR19Am8VTQTPjpN1c5VL+r5E5dpVLEAGyNXCZ+rPWIJq10pTv8 B9bbGYIc z19bBeQQuD1CHZ2guS6qZBE6Ujg3jxke7quj8DrPshWOvbbreiuiRSJFYa4zRpZe0vBbLyo2f5MLICSSGoAFd6k9PyKMODdr+GWm8Lk7fUspa3G6VaGb81FbmfCOM2mwybx59SOBzc3dvi6QC8YtvRQNUuiDnBgb0bGJfwiy9qHprZYKt5TK3jrnc/R8Rj1XaRDpUzE2vCL3JDJx/aKBqVj+W7cIQW0ccRuhtkGVSPg5zndXWQEfxFmuuWGZ3s7lqYXbEn5UvP9JltmPffQkNc2iB4PytubmLgCv3 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/4/7 7:55, Mike Kravetz wrote: > On 03/31/23 17:39, Peng Zhang wrote: >> From: ZhangPeng >> >> Replace copy_user_huge_page() with copy_user_folio(). copy_user_folio() >> does the same as copy_user_huge_page(), but takes in folios instead of >> pages. Convert copy_user_gigantic_page() to take in folios. >> Remove pages_per_huge_page from copy_user_folio(), because we can get >> that from folio_nr_pages(dst). >> >> Signed-off-by: ZhangPeng >> --- >> include/linux/mm.h | 7 +++---- >> mm/hugetlb.c | 10 ++++------ >> mm/memory.c | 28 ++++++++++++++-------------- >> 3 files changed, 21 insertions(+), 24 deletions(-) > No technical problems with the patch, but ... >> >> @@ -5847,15 +5847,15 @@ static void copy_subpage(unsigned long addr, int idx, void *arg) >> addr, copy_arg->vma); >> } >> >> -void copy_user_huge_page(struct page *dst, struct page *src, >> - unsigned long addr_hint, struct vm_area_struct *vma, >> - unsigned int pages_per_huge_page) >> +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 = folio_nr_pages(dst); >> unsigned long addr = addr_hint & >> ~(((unsigned long)pages_per_huge_page << PAGE_SHIFT) - 1); >> struct copy_subpage_arg arg = { >> - .dst = dst, >> - .src = src, >> + .dst = &dst->page, >> + .src = &src->page, >> .vma = vma, >> }; >> > I seem to recall that Matthew suggested changing the function name to > copy_user_folio. My only concern is that the name now sounds like a > general purpose routine for copying folios. It certainly would work > for a single page folio, but there is a bunch of unnecessary overhead > in that case. > > That makes me think there should perhaps be an optimized path for single > page folios that just does copy_user_highpage(). But, the argument addr_hint > does not make much sense in the single page folio case. So, I am not > sure if I agree with leaving large/huge out of the function name. > > Just wondering if Matthew has any additional thoughts? Agreed. In my opinion, it's better to leave large/huge out of the function name. Also wondering if Matthew has any additional considerations? Best Regards, Peng