Re: [PATCH v5 4/6] mm: Introduce Reported pages

From: kbuild test robot
Date: Tue Aug 13 2019 - 04:35:10 EST


Hi Alexander,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[cannot apply to v5.3-rc4]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Alexander-Duyck/mm-virtio-Provide-support-for-unused-page-reporting/20190813-150543
config: um-x86_64_defconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-10) 7.4.0
reproduce:
# save the attached .config to linux build tree
make ARCH=um SUBARCH=x86_64

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):


In file included from include/linux/thread_info.h:38:0,
from include/asm-generic/current.h:5,
from ./arch/um/include/generated/asm/current.h:1,
from include/linux/sched.h:12,
from arch/x86/um/shared/sysdep/kernel-offsets.h:3,
from arch/um/kernel/asm-offsets.c:1:
arch/um/include/asm/thread_info.h:9:0: note: this is the location of the previous definition
#define THREAD_SIZE_ORDER CONFIG_KERNEL_STACK_ORDER

In file included from arch/x86/include/asm/page_types.h:48:0,
from arch/x86/include/asm/pgtable_types.h:8,
from include/linux/page_reporting.h:8,
from include/linux/mmzone.h:774,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/um/shared/sysdep/kernel-offsets.h:5,
from arch/um/kernel/asm-offsets.c:1:
arch/x86/include/asm/page_64_types.h:16:0: warning: "THREAD_SIZE" redefined
#define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)

In file included from include/linux/thread_info.h:38:0,
from include/asm-generic/current.h:5,
from ./arch/um/include/generated/asm/current.h:1,
from include/linux/sched.h:12,
from arch/x86/um/shared/sysdep/kernel-offsets.h:3,
from arch/um/kernel/asm-offsets.c:1:
arch/um/include/asm/thread_info.h:10:0: note: this is the location of the previous definition
#define THREAD_SIZE ((1 << CONFIG_KERNEL_STACK_ORDER) * PAGE_SIZE)

In file included from arch/x86/include/asm/pgtable_types.h:249:0,
from include/linux/page_reporting.h:8,
from include/linux/mmzone.h:774,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/um/shared/sysdep/kernel-offsets.h:5,
from arch/um/kernel/asm-offsets.c:1:
arch/x86/include/asm/pgtable_64_types.h:21:34: error: conflicting types for 'pte_t'
typedef struct { pteval_t pte; } pte_t;
^~~~~
In file included from arch/um/include/asm/thread_info.h:15:0,
from include/linux/thread_info.h:38,
from include/asm-generic/current.h:5,
from ./arch/um/include/generated/asm/current.h:1,
from include/linux/sched.h:12,
from arch/x86/um/shared/sysdep/kernel-offsets.h:3,
from arch/um/kernel/asm-offsets.c:1:
arch/um/include/asm/page.h:57:39: note: previous declaration of 'pte_t' was here
typedef struct { unsigned long pte; } pte_t;
^~~~~
In file included from include/linux/page_reporting.h:8:0,
from include/linux/mmzone.h:774,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/um/shared/sysdep/kernel-offsets.h:5,
from arch/um/kernel/asm-offsets.c:1:
arch/x86/include/asm/pgtable_types.h:265:47: error: conflicting types for 'pgprot_t'
typedef struct pgprot { pgprotval_t pgprot; } pgprot_t;
^~~~~~~~
In file included from arch/um/include/asm/thread_info.h:15:0,
from include/linux/thread_info.h:38,
from include/asm-generic/current.h:5,
from ./arch/um/include/generated/asm/current.h:1,
from include/linux/sched.h:12,
from arch/x86/um/shared/sysdep/kernel-offsets.h:3,
from arch/um/kernel/asm-offsets.c:1:
arch/um/include/asm/page.h:80:42: note: previous declaration of 'pgprot_t' was here
typedef struct { unsigned long pgprot; } pgprot_t;
^~~~~~~~
In file included from include/linux/page_reporting.h:8:0,
from include/linux/mmzone.h:774,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/um/shared/sysdep/kernel-offsets.h:5,
from arch/um/kernel/asm-offsets.c:1:
arch/x86/include/asm/pgtable_types.h:267:34: error: conflicting types for 'pgd_t'
typedef struct { pgdval_t pgd; } pgd_t;
^~~~~
In file included from arch/um/include/asm/thread_info.h:15:0,
from include/linux/thread_info.h:38,
from include/asm-generic/current.h:5,
from ./arch/um/include/generated/asm/current.h:1,
from include/linux/sched.h:12,
from arch/x86/um/shared/sysdep/kernel-offsets.h:3,
from arch/um/kernel/asm-offsets.c:1:
arch/um/include/asm/page.h:58:39: note: previous declaration of 'pgd_t' was here
typedef struct { unsigned long pgd; } pgd_t;
^~~~~
In file included from arch/x86/include/asm/pgtable_types.h:346:0,
from include/linux/page_reporting.h:8,
from include/linux/mmzone.h:774,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/um/shared/sysdep/kernel-offsets.h:5,
from arch/um/kernel/asm-offsets.c:1:
>> include/asm-generic/pgtable-nopud.h:21:0: warning: "PUD_SHIFT" redefined
#define PUD_SHIFT P4D_SHIFT

In file included from arch/x86/include/asm/pgtable_types.h:249:0,
from include/linux/page_reporting.h:8,
from include/linux/mmzone.h:774,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/um/shared/sysdep/kernel-offsets.h:5,
from arch/um/kernel/asm-offsets.c:1:
arch/x86/include/asm/pgtable_64_types.h:83:0: note: this is the location of the previous definition
#define PUD_SHIFT 30

In file included from arch/x86/include/asm/pgtable_types.h:346:0,
from include/linux/page_reporting.h:8,
from include/linux/mmzone.h:774,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/um/shared/sysdep/kernel-offsets.h:5,
from arch/um/kernel/asm-offsets.c:1:
>> include/asm-generic/pgtable-nopud.h:22:0: warning: "PTRS_PER_PUD" redefined
#define PTRS_PER_PUD 1

In file included from arch/x86/include/asm/pgtable_types.h:249:0,
from include/linux/page_reporting.h:8,
from include/linux/mmzone.h:774,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/um/shared/sysdep/kernel-offsets.h:5,
from arch/um/kernel/asm-offsets.c:1:
arch/x86/include/asm/pgtable_64_types.h:84:0: note: this is the location of the previous definition
#define PTRS_PER_PUD 512

In file included from arch/x86/include/asm/pgtable_types.h:346:0,
from include/linux/page_reporting.h:8,
from include/linux/mmzone.h:774,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/um/shared/sysdep/kernel-offsets.h:5,
from arch/um/kernel/asm-offsets.c:1:
>> include/asm-generic/pgtable-nopud.h:23:0: warning: "PUD_SIZE" redefined
#define PUD_SIZE (1UL << PUD_SHIFT)

In file included from arch/x86/include/asm/pgtable_types.h:249:0,
from include/linux/page_reporting.h:8,
from include/linux/mmzone.h:774,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/um/shared/sysdep/kernel-offsets.h:5,
from arch/um/kernel/asm-offsets.c:1:
arch/x86/include/asm/pgtable_64_types.h:100:0: note: this is the location of the previous definition
#define PUD_SIZE (_AC(1, UL) << PUD_SHIFT)

In file included from arch/x86/include/asm/pgtable_types.h:346:0,
from include/linux/page_reporting.h:8,
from include/linux/mmzone.h:774,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/um/shared/sysdep/kernel-offsets.h:5,
from arch/um/kernel/asm-offsets.c:1:
>> include/asm-generic/pgtable-nopud.h:24:0: warning: "PUD_MASK" redefined
#define PUD_MASK (~(PUD_SIZE-1))

In file included from arch/x86/include/asm/pgtable_types.h:249:0,
from include/linux/page_reporting.h:8,
from include/linux/mmzone.h:774,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/um/shared/sysdep/kernel-offsets.h:5,
from arch/um/kernel/asm-offsets.c:1:
arch/x86/include/asm/pgtable_64_types.h:101:0: note: this is the location of the previous definition
#define PUD_MASK (~(PUD_SIZE - 1))

In file included from include/linux/page_reporting.h:8:0,
from include/linux/mmzone.h:774,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/um/shared/sysdep/kernel-offsets.h:5,
from arch/um/kernel/asm-offsets.c:1:
arch/x86/include/asm/pgtable_types.h:360:34: error: conflicting types for 'pmd_t'
typedef struct { pmdval_t pmd; } pmd_t;
^~~~~
In file included from arch/um/include/asm/thread_info.h:15:0,
from include/linux/thread_info.h:38,
from include/asm-generic/current.h:5,
from ./arch/um/include/generated/asm/current.h:1,
from include/linux/sched.h:12,
from arch/x86/um/shared/sysdep/kernel-offsets.h:3,
from arch/um/kernel/asm-offsets.c:1:
arch/um/include/asm/page.h:61:39: note: previous declaration of 'pmd_t' was here
typedef struct { unsigned long pmd; } pmd_t;
^~~~~
make[2]: *** [arch/um/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [sub-make] Error 2
4 real 4 user 2 sys 157.04% cpu make prepare

vim +/PUD_SHIFT +21 include/asm-generic/pgtable-nopud.h

^1da177e4c3f41 Linus Torvalds 2005-04-16 20
048456dcf2c56a Kirill A. Shutemov 2017-03-09 @21 #define PUD_SHIFT P4D_SHIFT
^1da177e4c3f41 Linus Torvalds 2005-04-16 @22 #define PTRS_PER_PUD 1
^1da177e4c3f41 Linus Torvalds 2005-04-16 @23 #define PUD_SIZE (1UL << PUD_SHIFT)
^1da177e4c3f41 Linus Torvalds 2005-04-16 @24 #define PUD_MASK (~(PUD_SIZE-1))
^1da177e4c3f41 Linus Torvalds 2005-04-16 25

:::::: The code at line 21 was first introduced by commit
:::::: 048456dcf2c56ad6f6248e2899dda92fb6a613f6 asm-generic: introduce <asm-generic/pgtable-nop4d.h>

:::::: TO: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip