On Sat, May 08, 2021 at 05:40:01PM -0700, akpm@xxxxxxxxxxxxxxxxxxxx wrote: > > The patch titled > Subject: mm-gup-pack-has_pinned-in-mmf_has_pinned-checkpatch-fixes > has been added to the -mm tree. Its filename is > mm-gup-pack-has_pinned-in-mmf_has_pinned-checkpatch-fixes.patch > > This patch should soon appear at > https://ozlabs.org/~akpm/mmots/broken-out/mm-gup-pack-has_pinned-in-mmf_has_pinned-checkpatch-fixes.patch > and later at > https://ozlabs.org/~akpm/mmotm/broken-out/mm-gup-pack-has_pinned-in-mmf_has_pinned-checkpatch-fixes.patch > > Before you just go and hit "reply", please: > a) Consider who else should be cc'ed > b) Prefer to cc a suitable mailing list as well > c) Ideally: find the original patch on the mailing list and do a > reply-to-all to that, adding suitable additional cc's > > *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** > > The -mm tree is included into linux-next and is updated > there every 3-4 working days > > ------------------------------------------------------ > From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Subject: mm-gup-pack-has_pinned-in-mmf_has_pinned-checkpatch-fixes > > WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line) > #25: > [peterx@xxxxxxxxxx: fix build for task_mmu.c, introduce mm_set_has_pinned_flag, fix comments] > > WARNING: please, no spaces at the start of a line > #130: FILE: mm/gup.c:1280: > + if (!test_bit(MMF_HAS_PINNED, mm_flags))$ > > WARNING: suspect code indent for conditional statements (7, 15) > #130: FILE: mm/gup.c:1280: > + if (!test_bit(MMF_HAS_PINNED, mm_flags)) > + set_bit(MMF_HAS_PINNED, mm_flags); > > ERROR: code indent should use tabs where possible > #131: FILE: mm/gup.c:1281: > + set_bit(MMF_HAS_PINNED, mm_flags);$ > > WARNING: please, no spaces at the start of a line > #131: FILE: mm/gup.c:1281: > + set_bit(MMF_HAS_PINNED, mm_flags);$ > > total: 1 errors, 4 warnings, 90 lines checked > > NOTE: For some of the reported defects, checkpatch may be able to > mechanically convert to the typical style using --fix or --fix-inplace. > > NOTE: Whitespace errors detected. > You may wish to use scripts/cleanpatch or scripts/cleanfile > > ./patches/mm-gup-pack-has_pinned-in-mmf_has_pinned.patch has style problems, please review. > > NOTE: If any of the errors are false positives, please report > them to the maintainer, see CHECKPATCH in MAINTAINERS. > > Please run checkpatch prior to sending patches Andrew, We may also need to squash attached into this commit, as otherwise !CONFIG_MMU breaks. Sorry about both of the troublesome I introduced! (Note: the attached patch should be cleanly applied upon this space fix patch) -- Peter Xu
>From e5558461f9ae20ae4c0266726db52c6f707e083b Mon Sep 17 00:00:00 2001 From: Peter Xu <peterx@xxxxxxxxxx> Date: Tue, 11 May 2021 10:32:29 -0400 Subject: [PATCH] fixup! mm: gup: pack has_pinned in MMF_HAS_PINNED This fixes build issue with !CONFIG_MMU. Signed-off-by: Peter Xu <peterx@xxxxxxxxxx> --- mm/gup.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/mm/gup.c b/mm/gup.c index be80873b80a77..67ced252edc75 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -392,6 +392,17 @@ void unpin_user_pages(struct page **pages, unsigned long npages) } EXPORT_SYMBOL(unpin_user_pages); +/* + * Set the MMF_HAS_PINNED if not set yet; after set it'll be there for the mm's + * lifecycle. Avoid setting the bit unless necessary, or it might cause write + * cache bouncing on large SMP machines for concurrent pinned gups. + */ +static inline void mm_set_has_pinned_flag(unsigned long *mm_flags) +{ + if (!test_bit(MMF_HAS_PINNED, mm_flags)) + set_bit(MMF_HAS_PINNED, mm_flags); +} + #ifdef CONFIG_MMU static struct page *no_page_table(struct vm_area_struct *vma, unsigned int flags) @@ -1270,17 +1281,6 @@ int fixup_user_fault(struct mm_struct *mm, } EXPORT_SYMBOL_GPL(fixup_user_fault); -/* - * Set the MMF_HAS_PINNED if not set yet; after set it'll be there for the mm's - * lifecycle. Avoid setting the bit unless necessary, or it might cause write - * cache bouncing on large SMP machines for concurrent pinned gups. - */ -static inline void mm_set_has_pinned_flag(unsigned long *mm_flags) -{ - if (!test_bit(MMF_HAS_PINNED, mm_flags)) - set_bit(MMF_HAS_PINNED, mm_flags); -} - /* * Please note that this function, unlike __get_user_pages will not * return 0 for nr_pages > 0 without FOLL_NOWAIT -- 2.31.1