From: Oscar Salvador <osalvador@suse.de>
To: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
akpm@linux-foundation.org, muchun.song@linux.dev,
willy@infradead.org
Subject: Re: [PATCH v2 1/3] hugetlb: Convert hugetlb_fault() to use struct vm_fault
Date: Thu, 4 Apr 2024 14:27:37 +0200 [thread overview]
Message-ID: <Zg6cualUqcsZYZxf@localhost.localdomain> (raw)
In-Reply-To: <20240401202651.31440-2-vishal.moola@gmail.com>
On Mon, Apr 01, 2024 at 01:26:49PM -0700, Vishal Moola (Oracle) wrote:
> Now that hugetlb_fault() has a vm_fault available for fault tracking, use
> it throughout. This cleans up the code by removing 2 variables, and
> prepares hugetlb_fault() to take in a struct vm_fault argument.
>
> Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
Reviewed-by: Oscar Salvador <osalvador@suse.de>
A question below:
> mm/hugetlb.c | 84 +++++++++++++++++++++++++---------------------------
> 1 file changed, 41 insertions(+), 43 deletions(-)
>
> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> index 8267e221ca5d..360b82374a89 100644
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
...
> /*
> - * entry could be a migration/hwpoison entry at this point, so this
> - * check prevents the kernel from going below assuming that we have
> - * an active hugepage in pagecache. This goto expects the 2nd page
> - * fault, and is_hugetlb_entry_(migration|hwpoisoned) check will
> - * properly handle it.
> + * vmf.orig_pte could be a migration/hwpoison vmf.orig_pte at this
"vmf.orig_pte could be a migration/hwpoison entry at ..."
> - entry = pte_mkyoung(entry);
> - if (huge_ptep_set_access_flags(vma, haddr, ptep, entry,
> + vmf.orig_pte = pte_mkyoung(vmf.orig_pte);
> + if (huge_ptep_set_access_flags(vma, vmf.address, vmf.pte, vmf.orig_pte,
> flags & FAULT_FLAG_WRITE))
Would it make sense to teach huge_ptep_set_access_flags/set_huge_pte_at() to use
vm_fault struct as well? All info we are passing is stored there.
Maybe it is not worth the trouble though, just asking.
--
Oscar Salvador
SUSE Labs
next prev parent reply other threads:[~2024-04-04 12:26 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-01 20:26 [PATCH v2 0/3] Hugetlb fault path to use struct vm_fault Vishal Moola (Oracle)
2024-04-01 20:26 ` [PATCH v2 1/3] hugetlb: Convert hugetlb_fault() " Vishal Moola (Oracle)
2024-04-04 12:27 ` Oscar Salvador [this message]
2024-04-04 19:32 ` Vishal Moola
2024-04-07 7:36 ` Muchun Song
2024-04-07 7:18 ` Muchun Song
2024-04-01 20:26 ` [PATCH v2 2/3] hugetlb: Convert hugetlb_no_page() " Vishal Moola (Oracle)
2024-04-04 12:50 ` Oscar Salvador
2024-04-04 19:58 ` Vishal Moola
2024-04-07 8:59 ` Muchun Song
2024-04-08 17:45 ` Vishal Moola
2024-04-05 3:12 ` Oscar Salvador
2024-04-01 20:26 ` [PATCH v2 3/3] hugetlb: Convert hugetlb_wp() " Vishal Moola (Oracle)
2024-04-05 3:23 ` Oscar Salvador
2024-04-07 9:12 ` Muchun Song
2024-04-08 17:47 ` Vishal Moola
2024-04-08 17:55 ` Matthew Wilcox
2024-04-04 2:07 ` [PATCH v2 0/3] Hugetlb fault path " Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Zg6cualUqcsZYZxf@localhost.localdomain \
--to=osalvador@suse.de \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=muchun.song@linux.dev \
--cc=vishal.moola@gmail.com \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.