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

From: SeongJae Park
Date: Thu Oct 14 2021 - 07:18:48 EST


On Wed, 13 Oct 2021 22:15:05 -0700 Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:

> [-- Attachment #1: Type: text/plain, Size: 2271 bytes --]
>
> On 10/13/21 7:52 PM, akpm@xxxxxxxxxxxxxxxxxxxx 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/20211014110848.5204-1-sj@xxxxxxxxxx/

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