Messages in this thread | | | Date | Mon, 8 Apr 2024 18:55:34 +0100 | From | Matthew Wilcox <> | Subject | Re: [PATCH v2 3/3] hugetlb: Convert hugetlb_wp() to use struct vm_fault |
| |
On Mon, Apr 08, 2024 at 10:47:12AM -0700, Vishal Moola wrote: > -static vm_fault_t hugetlb_wp(struct mm_struct *mm, struct vm_area_struct *vma, > - struct folio *pagecache_folio, > +static vm_fault_t hugetlb_wp(struct folio *pagecache_folio, > struct vm_fault *vmf) > { > + struct vm_area_struct *vma = vmf->vma; > + struct mm_struct *mm = vma->vm_mm;
I think 'vmf' should be the first parameter, not the second. Compare:
static vm_fault_t do_page_mkwrite(struct vm_fault *vmf, struct folio *folio) static inline void wp_page_reuse(struct vm_fault *vmf, struct folio *folio) static vm_fault_t finish_mkwrite_fault(struct vm_fault *vmf, struct folio *folio) static vm_fault_t wp_page_shared(struct vm_fault *vmf, struct folio *folio) vm_fault_t do_set_pmd(struct vm_fault *vmf, struct page *page) void set_pte_range(struct vm_fault *vmf, struct folio *folio, struct page *page, unsigned int nr, unsigned long addr) int numa_migrate_prep(struct folio *folio, struct vm_fault *vmf, unsigned long addr, int page_nid, int *flags) static void numa_rebuild_single_mapping(struct vm_fault *vmf, struct vm_area_struct *vma, unsigned long fault_addr, pte_t *fault_pte, bool writable) static void numa_rebuild_large_mapping(struct vm_fault *vmf, struct vm_area_struct *vma, struct folio *folio, pte_t fault_pte, bool ignore_writable, bool pte_write_upgrade) static vm_fault_t wp_huge_pud(struct vm_fault *vmf, pud_t orig_pud)
numa_migrate_prep() is the only one which doesn't have vmf as the first param. It's a subtle inconsistency, but one you notice after a while .. then wish you'd done right the first time, but can't quite bring yourself to submit a patch to fix ;-)
| |