Subject: Re: mmotm 2021-10-13-19-52 uploaded (mm/damon/vaddr.c)

From: SeongJae Park <[email-masked]>
Date: Thu, 14 Oct 2021 11:18:37 +0000

On Wed, 13 Oct 2021 22:15:05 -0700 Randy Dunlap <[email-masked]> wrote:

> [-- Attachment #1: Type: text/plain, Size: 2271 bytes --]
> 
> On 10/13/21 7:52 PM, [email-masked] wrote:
> > mmotm-readme.txt says
> > 
> > README for mm-of-the-moment:
> > 
> > https://www.ozlabs.org/~akpm/mmotm/
> > 
> > This is a snapshot of my -mm patch queue.  Uploaded at random hopefully
> > more than once a week.
> > 
> > You will need quilt to apply these patches to the latest Linus release (5.x
> > or 5.x-rcY).  The series file is in broken-out.tar.gz and is duplicated in
> > https://ozlabs.org/~akpm/mmotm/series
> > 
> > The file broken-out.tar.gz contains two datestamp files: .DATE and
> > .DATE-yyyy-mm-dd-hh-mm-ss.  Both contain the string yyyy-mm-dd-hh-mm-ss,
> > followed by the base kernel version against which this patch series is to
> > be applied.
> 
> on i386:
> 
> In file included from ../include/linux/mm.h:33:0,
>                   from ../include/linux/kallsyms.h:13,
>                   from ../include/linux/bpf.h:20,
>                   from ../include/linux/bpf-cgroup.h:5,
>                   from ../include/linux/cgroup-defs.h:22,
>                   from ../include/linux/cgroup.h:28,
>                   from ../include/linux/hugetlb.h:9,
>                   from ../mm/damon/vaddr.c:11:
> ../mm/damon/vaddr.c: In function ‘damon_mkold_pmd_entry’:
> ../include/linux/pgtable.h:97:12: error: implicit declaration of function ‘kmap_atomic’; did you mean ‘mcopy_atomic’? [-Werror=implicit-function-declaration]
>    ((pte_t *)kmap_atomic(pmd_page(*(dir))) +  \
>              ^
> ../include/linux/mm.h:2376:17: note: in expansion of macro ‘pte_offset_map’
>    pte_t *__pte = pte_offset_map(pmd, address); \
>                   ^~~~~~~~~~~~~~
> ../mm/damon/vaddr.c:387:8: note: in expansion of macro ‘pte_offset_map_lock’
>    pte = pte_offset_map_lock(walk->mm, pmd, addr, &ptl);
>          ^~~~~~~~~~~~~~~~~~~
> ../include/linux/pgtable.h:99:24: error: implicit declaration of function ‘kunmap_atomic’; did you mean ‘in_atomic’? [-Werror=implicit-function-declaration]
>   #define pte_unmap(pte) kunmap_atomic((pte))
>                          ^
> ../include/linux/mm.h:2384:2: note: in expansion of macro ‘pte_unmap’
>    pte_unmap(pte);     \
>    ^~~~~~~~~
> ../mm/damon/vaddr.c:392:2: note: in expansion of macro ‘pte_unmap_unlock’
>    pte_unmap_unlock(pte, ptl);
>    ^~~~~~~~~~~~~~~~
> 
> 
> Full randconfig file is attached.

Thank you for this report!

I sent a fix:
https://lore.kernel.org/linux-mm/[email-masked]/

This was found and fixed by Andrew before, but I made this mistake again... :'(
To not repeat this again, I added a test for this case in DAMON correctness
tests: https://github.com/awslabs/damon-tests/commit/b3d1513ad16a

Thanks,
SJ

> -- 
> ~Randy