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 E217AEB64D7 for ; Fri, 16 Jun 2023 08:11:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5D2A28E0003; Fri, 16 Jun 2023 04:11:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 582418E0002; Fri, 16 Jun 2023 04:11:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 44A3C8E0003; Fri, 16 Jun 2023 04:11:22 -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 36F6F8E0002 for ; Fri, 16 Jun 2023 04:11:22 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 0B48CB0549 for ; Fri, 16 Jun 2023 08:11:22 +0000 (UTC) X-FDA: 80907891204.22.D4270F9 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf17.hostedemail.com (Postfix) with ESMTP id AD4604000D for ; Fri, 16 Jun 2023 08:11:19 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=hLkmgUrq; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf17.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686903079; 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:dkim-signature; bh=RnRIpHUiQnx1uu1gHAafQJv/IJPeE0K8K8Nwv8UCEzs=; b=XEW30g6yUGoHxXE13q3T8obMX8JKG2DQq/cAtihuYAQmUm1yJUe4xkuCdKZPq8adu32t1y BJVnDagKGvt+ZEjcC9CM/r0viTk6SbDu/qJ8udG2KK5RQALmKx8BugAEOXJ0fC9YBG0fKS P4ImxlBzw9W3gaj79c7AMbE6qYuQhtQ= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=hLkmgUrq; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf17.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686903079; a=rsa-sha256; cv=none; b=HBwFnBu3lZApaupqjZwI3ZA8eP9xtvvmbQCHHhP726wtCqLzHCOeu3qNCOLqI7S+vaK23t FSstfKj7VYVo24r8KTVwCx3lDpQ2drNMVxBf5JoaO6qKBKfTi4yr92AAcglfH351bG9St1 wwACEfSU/Qw1GwNa62fdyyV/Bce0wqI= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1686903078; h=from:from: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=RnRIpHUiQnx1uu1gHAafQJv/IJPeE0K8K8Nwv8UCEzs=; b=hLkmgUrq/44HhdvtMyxOcars/x6a+vNdRCQH1BdZQCSoCkezlamm2QcMbEKE+ncGRHUVkG lo4W5Qbe4tiyXHf/wnA0C7dFlr5UJvctLm+TraB1t1v97LB5oCnLllNC/V0QRLrOqNBmm5 yZe19yP/lvz4Y455lNdlRas0TTxYNKw= Received: from mail-lj1-f198.google.com (mail-lj1-f198.google.com [209.85.208.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-157-A4mQLBgDMSmGNs6XFYzy4A-1; Fri, 16 Jun 2023 04:11:15 -0400 X-MC-Unique: A4mQLBgDMSmGNs6XFYzy4A-1 Received: by mail-lj1-f198.google.com with SMTP id 38308e7fff4ca-2b45afd0c1dso1674871fa.0 for ; Fri, 16 Jun 2023 01:11:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686903074; x=1689495074; h=content-transfer-encoding:in-reply-to:organization:from:references :cc:to:content-language:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RnRIpHUiQnx1uu1gHAafQJv/IJPeE0K8K8Nwv8UCEzs=; b=dFd66m43zV/hZ4U2J5c8TbgLpiXSRSQrAyVbw63f5Q1hTmUtahbJmk35gQ0jvLaTIH kd9C8eza+fzME04aMK5Krv7763Z960zsF4MNLWRswaj1TE1cZwYrTqcxI8FrGv+0Vx+E CEd5RGL2GFTUzK0AUKf7LIuVo/ognS/tbrNVGI96mgZOvoYD7q53AAx0f7P1/i9PuUsq j4gRaFTm7PZ6+ReU5Pfdfb5GgUnAkVYLhlDbGgFUpK8OhpwIMuQBVBwkiRxln+CqkZGW Gir4hyYpej8UksnXq4awNS/eMQjLpqwF2o4nLIuQDtxnvT12+I4YA0Z23wakWLkAuXfi txUQ== X-Gm-Message-State: AC+VfDzg2b1h7aLFxDEeC5czXZW3QpA0X+Q6Av4W9FqFuyWlitybjG92 TibdLd+nJvnHA5uQ+HjVw3T7C8bMWlEL/movTu9P+IHgic3rK8noTQcRLtuiy74c5jcjntQz254 WdbEm9s5XD6U= X-Received: by 2002:a2e:a40d:0:b0:2b4:4307:48 with SMTP id p13-20020a2ea40d000000b002b443070048mr1155656ljn.38.1686903073919; Fri, 16 Jun 2023 01:11:13 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5FR8sSbqpeYzFBBHzIzpMvulL3PDwTlEmsGsghMkPnCnLywc6RZqX9/TuByGPFXysX2g37LA== X-Received: by 2002:a2e:a40d:0:b0:2b4:4307:48 with SMTP id p13-20020a2ea40d000000b002b443070048mr1155631ljn.38.1686903073555; Fri, 16 Jun 2023 01:11:13 -0700 (PDT) Received: from ?IPV6:2003:cb:c707:9800:59ba:1006:9052:fb40? (p200300cbc707980059ba10069052fb40.dip0.t-ipconnect.de. [2003:cb:c707:9800:59ba:1006:9052:fb40]) by smtp.gmail.com with ESMTPSA id i10-20020a05600c354a00b003f4283f5c1bsm15463194wmq.2.2023.06.16.01.11.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 16 Jun 2023 01:11:12 -0700 (PDT) Message-ID: <561f3796-e308-82c2-ae1f-f7ef94fe0691@redhat.com> Date: Fri, 16 Jun 2023 10:11:11 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: [PATCH 3/7] mm/hugetlb: Add page_mask for hugetlb_follow_page_mask() To: Peter Xu , linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Matthew Wilcox , Andrea Arcangeli , John Hubbard , Mike Rapoport , Vlastimil Babka , "Kirill A . Shutemov" , Andrew Morton , Mike Kravetz , James Houghton , Hugh Dickins References: <20230613215346.1022773-1-peterx@redhat.com> <20230613215346.1022773-4-peterx@redhat.com> From: David Hildenbrand Organization: Red Hat In-Reply-To: <20230613215346.1022773-4-peterx@redhat.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: AD4604000D X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: azn8f79abea5x968d17pop4d5mqa6kkt X-HE-Tag: 1686903079-851224 X-HE-Meta: U2FsdGVkX1/xKGsz1kI4rpNvasx9bDLFGaLBu5XbNsgnDUG3UjhmX5GodBJujjCNsl4bdNw14cj1eM/tqnRTW8JE4RUeGs+PkO458L/kaQI29qwIY3nkHUxXBEw9BkV0aE7sgvQ6/LFEG2yVuqqcZmnOpMw2ODldfmeLntTOTR155dUS8oQCEOGJcy1P/t4EgKfkyz2EyB1oscN+UfYgKSxNRQ9pNx9obUt3Pl3Acm8N5lM72dI0/QeHyKQqk3GLziryMbY5xRN98UshzF9/v6hu5o6nOEh29+OZt5tRpj9IhC0D+I25XUTvvXaTMY+X+kevsF7nz5YUntBUytzEs7vlLahLKbbPlkdhhZttrKTwXB/zLbWxQr8h4s4G2X1/8SldmRhYfUNL/rFpuDUWWGHNqdR1CttwIOMKkontSkFhXGfnE1pgm7OB+Q3rM3uLsSi4FaD38DUnzG5kcNXf4i5RCGkVmoZCitdW1c9wXfy0PLHYokgbOVOWAbPemzY050msj0dv6MuWjyQmvFfMWuwgGH6LfLQD3qqSc+bF9b5pPApWBzZrjxA6dBI8gPxaXoo7g4pId6YfzMZb19mcGQ2rXMa4HTq4mhcLaSpnauV1C6cvoxMiIy8BBUnnE0Z4AOSCcZN7piev9soH0BRup2naNs1XqwN9QsUya/K1JPmJMf4bGc/HVysyn7l+A3nUBBBLVd8Wz5cBvUl9ottV2zhlJ+RzThZCoG7E+HcJEF0WbWDn9hAnZaxxYtYPvZ5COGNecdscwWUoX2V+0W6ZStStR9JpAfAR4VbMiq0V+seJ1LzNA25S4U9/TWGaG4bQXJpcIN/OEScyhnBIOvU4Yj3daFlKDMNCCn4CCI3HcUmSvav8aMhfwQ65KtNiIinWUFiR5oAFn3w3Eo9CR9wFZgoa7MRd/KZqBff5VWlNSk77vfXEAZrC9qO9re9n945xoGc4UH4S/9rXpkxpanI d3O/rmJU cUFlT/OfRpnPnB1QV113AYTRRL7h9LZPfvEEJMZad10m2dXz8sD0aBt6ixemYR9EGVvxa4nnv0dbYBHa9K5PCm2VkJOiq4gHDGZUBlQJGJuSA+0UwgkCWSRDsZd4TTVrek1odSNAZcre3X9PT5/cE1WE8n+lqrw7a96PN+ikaLXI15+6hUhq7aTVIL7Vsqj9Z4uw1p8HtWRwLhv6BNVP/D9KSZHCvZiVZjvLl4J0xaURnQIyrkKgJSsef6jQWWCn63FJ/G1c2sHlspI0sNrrQMVBH/QGzz9p3dJXSPWRxslbWrjF3XZ8PtNw/FJBBzOEYeouDbeOGxlgxV3lV3PGG1W2zeQQIqbqpKIDvfS0Mhgc0AUVf/bSzfiwomvKwX2WY0qYjByVxRgUutTFxGBmJM1Z4QqGa7+hfOjJ9eerFHE2VaMkaJTrajwtHmfbm+CjdsjMAdBWDituk1vc= 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 13.06.23 23:53, Peter Xu wrote: > follow_page() doesn't need it, but we'll start to need it when unifying gup > for hugetlb. > > Signed-off-by: Peter Xu > --- > include/linux/hugetlb.h | 8 +++++--- > mm/gup.c | 3 ++- > mm/hugetlb.c | 4 +++- > 3 files changed, 10 insertions(+), 5 deletions(-) > > diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h > index 21f942025fec..0d6f389d98de 100644 > --- a/include/linux/hugetlb.h > +++ b/include/linux/hugetlb.h > @@ -131,7 +131,8 @@ int move_hugetlb_page_tables(struct vm_area_struct *vma, > int copy_hugetlb_page_range(struct mm_struct *, struct mm_struct *, > struct vm_area_struct *, struct vm_area_struct *); > struct page *hugetlb_follow_page_mask(struct vm_area_struct *vma, > - unsigned long address, unsigned int flags); > + unsigned long address, unsigned int flags, > + unsigned int *page_mask); > long follow_hugetlb_page(struct mm_struct *, struct vm_area_struct *, > struct page **, unsigned long *, unsigned long *, > long, unsigned int, int *); > @@ -297,8 +298,9 @@ static inline void adjust_range_if_pmd_sharing_possible( > { > } > > -static inline struct page *hugetlb_follow_page_mask(struct vm_area_struct *vma, > - unsigned long address, unsigned int flags) > +static inline struct page *hugetlb_follow_page_mask( > + struct vm_area_struct *vma, unsigned long address, unsigned int flags, > + unsigned int *page_mask) > { > BUILD_BUG(); /* should never be compiled in if !CONFIG_HUGETLB_PAGE*/ > } > diff --git a/mm/gup.c b/mm/gup.c > index aa0668505d61..8d59ae4554e7 100644 > --- a/mm/gup.c > +++ b/mm/gup.c > @@ -794,7 +794,8 @@ static struct page *follow_page_mask(struct vm_area_struct *vma, > * Ordinary GUP uses follow_hugetlb_page for hugetlb processing. > */ > if (is_vm_hugetlb_page(vma)) > - return hugetlb_follow_page_mask(vma, address, flags); > + return hugetlb_follow_page_mask(vma, address, flags, > + &ctx->page_mask); > > pgd = pgd_offset(mm, address); > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index 9c261921b2cf..f037eaf9d819 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -6457,7 +6457,8 @@ static inline bool __follow_hugetlb_must_fault(struct vm_area_struct *vma, > } > > struct page *hugetlb_follow_page_mask(struct vm_area_struct *vma, > - unsigned long address, unsigned int flags) > + unsigned long address, unsigned int flags, > + unsigned int *page_mask) > { > struct hstate *h = hstate_vma(vma); > struct mm_struct *mm = vma->vm_mm; > @@ -6506,6 +6507,7 @@ struct page *hugetlb_follow_page_mask(struct vm_area_struct *vma, > * because we hold the ptl lock and have verified pte_present(). > */ > WARN_ON_ONCE(try_grab_page(page, flags)); > + *page_mask = huge_page_mask(h); > } > out: > spin_unlock(ptl); Reviewed-by: David Hildenbrand -- Cheers, David / dhildenb