Message ID | 20241226170710.1159679-14-surenb@google.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | move per-vma lock into vm_area_struct | expand |
Hi Suren, kernel test robot noticed the following build errors: [auto build test ERROR on 431614f1580a03c1a653340c55ea76bd12a9403f] url: https://github.com/intel-lab-lkp/linux/commits/Suren-Baghdasaryan/mm-introduce-vma_start_read_locked-_nested-helpers/20241227-010925 base: 431614f1580a03c1a653340c55ea76bd12a9403f patch link: https://lore.kernel.org/r/20241226170710.1159679-14-surenb%40google.com patch subject: [PATCH v7 13/17] mm/debug: print vm_refcnt state when dumping the vma config: hexagon-randconfig-002-20241227 (https://download.01.org/0day-ci/archive/20241227/202412270328.HiJX1mRt-lkp@intel.com/config) compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241227/202412270328.HiJX1mRt-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202412270328.HiJX1mRt-lkp@intel.com/ All errors (new ones prefixed by >>): >> mm/debug.c:189:54: error: no member named 'vm_refcnt' in 'struct vm_area_struct' 189 | vma->vm_flags, &vma->vm_flags, refcount_read(&vma->vm_refcnt)); | ~~~ ^ include/linux/printk.h:514:35: note: expanded from macro 'pr_emerg' 514 | printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~ include/linux/printk.h:501:60: note: expanded from macro 'printk' 501 | #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__) | ^~~~~~~~~~~ include/linux/printk.h:473:19: note: expanded from macro 'printk_index_wrap' 473 | _p_func(_fmt, ##__VA_ARGS__); \ | ^~~~~~~~~~~ 1 error generated. vim +189 mm/debug.c 178 179 void dump_vma(const struct vm_area_struct *vma) 180 { 181 pr_emerg("vma %px start %px end %px mm %px\n" 182 "prot %lx anon_vma %px vm_ops %px\n" 183 "pgoff %lx file %px private_data %px\n" 184 "flags: %#lx(%pGv) refcnt %x\n", 185 vma, (void *)vma->vm_start, (void *)vma->vm_end, vma->vm_mm, 186 (unsigned long)pgprot_val(vma->vm_page_prot), 187 vma->anon_vma, vma->vm_ops, vma->vm_pgoff, 188 vma->vm_file, vma->vm_private_data, > 189 vma->vm_flags, &vma->vm_flags, refcount_read(&vma->vm_refcnt)); 190 } 191 EXPORT_SYMBOL(dump_vma); 192
On Thu, Dec 26, 2024 at 11:41 AM kernel test robot <lkp@intel.com> wrote: > > Hi Suren, > > kernel test robot noticed the following build errors: > > [auto build test ERROR on 431614f1580a03c1a653340c55ea76bd12a9403f] > > url: https://github.com/intel-lab-lkp/linux/commits/Suren-Baghdasaryan/mm-introduce-vma_start_read_locked-_nested-helpers/20241227-010925 > base: 431614f1580a03c1a653340c55ea76bd12a9403f > patch link: https://lore.kernel.org/r/20241226170710.1159679-14-surenb%40google.com > patch subject: [PATCH v7 13/17] mm/debug: print vm_refcnt state when dumping the vma > config: hexagon-randconfig-002-20241227 (https://download.01.org/0day-ci/archive/20241227/202412270328.HiJX1mRt-lkp@intel.com/config) > compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241227/202412270328.HiJX1mRt-lkp@intel.com/reproduce) > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > the same patch/commit), kindly add following tags > | Reported-by: kernel test robot <lkp@intel.com> > | Closes: https://lore.kernel.org/oe-kbuild-all/202412270328.HiJX1mRt-lkp@intel.com/ > > All errors (new ones prefixed by >>): > > >> mm/debug.c:189:54: error: no member named 'vm_refcnt' in 'struct vm_area_struct' Ugh, ok. On architectures with ARCH_SUPPORTS_PER_VMA_LOCK=n this will happen. Preparing a fix. > 189 | vma->vm_flags, &vma->vm_flags, refcount_read(&vma->vm_refcnt)); > | ~~~ ^ > include/linux/printk.h:514:35: note: expanded from macro 'pr_emerg' > 514 | printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__) > | ^~~~~~~~~~~ > include/linux/printk.h:501:60: note: expanded from macro 'printk' > 501 | #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__) > | ^~~~~~~~~~~ > include/linux/printk.h:473:19: note: expanded from macro 'printk_index_wrap' > 473 | _p_func(_fmt, ##__VA_ARGS__); \ > | ^~~~~~~~~~~ > 1 error generated. > > > vim +189 mm/debug.c > > 178 > 179 void dump_vma(const struct vm_area_struct *vma) > 180 { > 181 pr_emerg("vma %px start %px end %px mm %px\n" > 182 "prot %lx anon_vma %px vm_ops %px\n" > 183 "pgoff %lx file %px private_data %px\n" > 184 "flags: %#lx(%pGv) refcnt %x\n", > 185 vma, (void *)vma->vm_start, (void *)vma->vm_end, vma->vm_mm, > 186 (unsigned long)pgprot_val(vma->vm_page_prot), > 187 vma->anon_vma, vma->vm_ops, vma->vm_pgoff, > 188 vma->vm_file, vma->vm_private_data, > > 189 vma->vm_flags, &vma->vm_flags, refcount_read(&vma->vm_refcnt)); > 190 } > 191 EXPORT_SYMBOL(dump_vma); > 192 > > -- > 0-DAY CI Kernel Test Service > https://github.com/intel/lkp-tests/wiki
On Thu, Dec 26, 2024 at 11:51 AM Suren Baghdasaryan <surenb@google.com> wrote: > > On Thu, Dec 26, 2024 at 11:41 AM kernel test robot <lkp@intel.com> wrote: > > > > Hi Suren, > > > > kernel test robot noticed the following build errors: > > > > [auto build test ERROR on 431614f1580a03c1a653340c55ea76bd12a9403f] > > > > url: https://github.com/intel-lab-lkp/linux/commits/Suren-Baghdasaryan/mm-introduce-vma_start_read_locked-_nested-helpers/20241227-010925 > > base: 431614f1580a03c1a653340c55ea76bd12a9403f > > patch link: https://lore.kernel.org/r/20241226170710.1159679-14-surenb%40google.com > > patch subject: [PATCH v7 13/17] mm/debug: print vm_refcnt state when dumping the vma > > config: hexagon-randconfig-002-20241227 (https://download.01.org/0day-ci/archive/20241227/202412270328.HiJX1mRt-lkp@intel.com/config) > > compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241227/202412270328.HiJX1mRt-lkp@intel.com/reproduce) > > > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > > the same patch/commit), kindly add following tags > > | Reported-by: kernel test robot <lkp@intel.com> > > | Closes: https://lore.kernel.org/oe-kbuild-all/202412270328.HiJX1mRt-lkp@intel.com/ > > > > All errors (new ones prefixed by >>): > > > > >> mm/debug.c:189:54: error: no member named 'vm_refcnt' in 'struct vm_area_struct' > > Ugh, ok. On architectures with ARCH_SUPPORTS_PER_VMA_LOCK=n this will > happen. Preparing a fix. This error actually also requires CONFIG_DEBUG_VM=y. > > > 189 | vma->vm_flags, &vma->vm_flags, refcount_read(&vma->vm_refcnt)); > > | ~~~ ^ > > include/linux/printk.h:514:35: note: expanded from macro 'pr_emerg' > > 514 | printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__) > > | ^~~~~~~~~~~ > > include/linux/printk.h:501:60: note: expanded from macro 'printk' > > 501 | #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__) > > | ^~~~~~~~~~~ > > include/linux/printk.h:473:19: note: expanded from macro 'printk_index_wrap' > > 473 | _p_func(_fmt, ##__VA_ARGS__); \ > > | ^~~~~~~~~~~ > > 1 error generated. > > > > > > vim +189 mm/debug.c > > > > 178 > > 179 void dump_vma(const struct vm_area_struct *vma) > > 180 { > > 181 pr_emerg("vma %px start %px end %px mm %px\n" > > 182 "prot %lx anon_vma %px vm_ops %px\n" > > 183 "pgoff %lx file %px private_data %px\n" > > 184 "flags: %#lx(%pGv) refcnt %x\n", > > 185 vma, (void *)vma->vm_start, (void *)vma->vm_end, vma->vm_mm, > > 186 (unsigned long)pgprot_val(vma->vm_page_prot), > > 187 vma->anon_vma, vma->vm_ops, vma->vm_pgoff, > > 188 vma->vm_file, vma->vm_private_data, > > > 189 vma->vm_flags, &vma->vm_flags, refcount_read(&vma->vm_refcnt)); > > 190 } > > 191 EXPORT_SYMBOL(dump_vma); > > 192 > > > > -- > > 0-DAY CI Kernel Test Service > > https://github.com/intel/lkp-tests/wiki
On Thu, Dec 26, 2024 at 11:54 AM Suren Baghdasaryan <surenb@google.com> wrote: > > On Thu, Dec 26, 2024 at 11:51 AM Suren Baghdasaryan <surenb@google.com> wrote: > > > > On Thu, Dec 26, 2024 at 11:41 AM kernel test robot <lkp@intel.com> wrote: > > > > > > Hi Suren, > > > > > > kernel test robot noticed the following build errors: > > > > > > [auto build test ERROR on 431614f1580a03c1a653340c55ea76bd12a9403f] > > > > > > url: https://github.com/intel-lab-lkp/linux/commits/Suren-Baghdasaryan/mm-introduce-vma_start_read_locked-_nested-helpers/20241227-010925 > > > base: 431614f1580a03c1a653340c55ea76bd12a9403f > > > patch link: https://lore.kernel.org/r/20241226170710.1159679-14-surenb%40google.com > > > patch subject: [PATCH v7 13/17] mm/debug: print vm_refcnt state when dumping the vma > > > config: hexagon-randconfig-002-20241227 (https://download.01.org/0day-ci/archive/20241227/202412270328.HiJX1mRt-lkp@intel.com/config) > > > compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) > > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241227/202412270328.HiJX1mRt-lkp@intel.com/reproduce) > > > > > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > > > the same patch/commit), kindly add following tags > > > | Reported-by: kernel test robot <lkp@intel.com> > > > | Closes: https://lore.kernel.org/oe-kbuild-all/202412270328.HiJX1mRt-lkp@intel.com/ > > > > > > All errors (new ones prefixed by >>): > > > > > > >> mm/debug.c:189:54: error: no member named 'vm_refcnt' in 'struct vm_area_struct' > > > > Ugh, ok. On architectures with ARCH_SUPPORTS_PER_VMA_LOCK=n this will > > happen. Preparing a fix. > > This error actually also requires CONFIG_DEBUG_VM=y. Fixup posted at https://lore.kernel.org/all/20241226200335.1250078-1-surenb@google.com/ > > > > > > 189 | vma->vm_flags, &vma->vm_flags, refcount_read(&vma->vm_refcnt)); > > > | ~~~ ^ > > > include/linux/printk.h:514:35: note: expanded from macro 'pr_emerg' > > > 514 | printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__) > > > | ^~~~~~~~~~~ > > > include/linux/printk.h:501:60: note: expanded from macro 'printk' > > > 501 | #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__) > > > | ^~~~~~~~~~~ > > > include/linux/printk.h:473:19: note: expanded from macro 'printk_index_wrap' > > > 473 | _p_func(_fmt, ##__VA_ARGS__); \ > > > | ^~~~~~~~~~~ > > > 1 error generated. > > > > > > > > > vim +189 mm/debug.c > > > > > > 178 > > > 179 void dump_vma(const struct vm_area_struct *vma) > > > 180 { > > > 181 pr_emerg("vma %px start %px end %px mm %px\n" > > > 182 "prot %lx anon_vma %px vm_ops %px\n" > > > 183 "pgoff %lx file %px private_data %px\n" > > > 184 "flags: %#lx(%pGv) refcnt %x\n", > > > 185 vma, (void *)vma->vm_start, (void *)vma->vm_end, vma->vm_mm, > > > 186 (unsigned long)pgprot_val(vma->vm_page_prot), > > > 187 vma->anon_vma, vma->vm_ops, vma->vm_pgoff, > > > 188 vma->vm_file, vma->vm_private_data, > > > > 189 vma->vm_flags, &vma->vm_flags, refcount_read(&vma->vm_refcnt)); > > > 190 } > > > 191 EXPORT_SYMBOL(dump_vma); > > > 192 > > > > > > -- > > > 0-DAY CI Kernel Test Service > > > https://github.com/intel/lkp-tests/wiki
Hi Suren, kernel test robot noticed the following build errors: [auto build test ERROR on 431614f1580a03c1a653340c55ea76bd12a9403f] url: https://github.com/intel-lab-lkp/linux/commits/Suren-Baghdasaryan/mm-introduce-vma_start_read_locked-_nested-helpers/20241227-010925 base: 431614f1580a03c1a653340c55ea76bd12a9403f patch link: https://lore.kernel.org/r/20241226170710.1159679-14-surenb%40google.com patch subject: [PATCH v7 13/17] mm/debug: print vm_refcnt state when dumping the vma config: riscv-randconfig-001-20241227 (https://download.01.org/0day-ci/archive/20241227/202412270304.GtgNiDPd-lkp@intel.com/config) compiler: riscv64-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241227/202412270304.GtgNiDPd-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202412270304.GtgNiDPd-lkp@intel.com/ All errors (new ones prefixed by >>): In file included from include/asm-generic/bug.h:22, from arch/riscv/include/asm/bug.h:83, from include/linux/bug.h:5, from arch/riscv/include/asm/cmpxchg.h:9, from arch/riscv/include/asm/barrier.h:14, from include/asm-generic/bitops/generic-non-atomic.h:7, from include/linux/bitops.h:29, from include/linux/kernel.h:23, from mm/debug.c:9: mm/debug.c: In function 'dump_vma': >> mm/debug.c:189:66: error: 'const struct vm_area_struct' has no member named 'vm_refcnt' 189 | vma->vm_flags, &vma->vm_flags, refcount_read(&vma->vm_refcnt)); | ^~ include/linux/printk.h:473:33: note: in definition of macro 'printk_index_wrap' 473 | _p_func(_fmt, ##__VA_ARGS__); \ | ^~~~~~~~~~~ include/linux/printk.h:514:9: note: in expansion of macro 'printk' 514 | printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__) | ^~~~~~ mm/debug.c:181:9: note: in expansion of macro 'pr_emerg' 181 | pr_emerg("vma %px start %px end %px mm %px\n" | ^~~~~~~~ vim +189 mm/debug.c 178 179 void dump_vma(const struct vm_area_struct *vma) 180 { 181 pr_emerg("vma %px start %px end %px mm %px\n" 182 "prot %lx anon_vma %px vm_ops %px\n" 183 "pgoff %lx file %px private_data %px\n" 184 "flags: %#lx(%pGv) refcnt %x\n", 185 vma, (void *)vma->vm_start, (void *)vma->vm_end, vma->vm_mm, 186 (unsigned long)pgprot_val(vma->vm_page_prot), 187 vma->anon_vma, vma->vm_ops, vma->vm_pgoff, 188 vma->vm_file, vma->vm_private_data, > 189 vma->vm_flags, &vma->vm_flags, refcount_read(&vma->vm_refcnt)); 190 } 191 EXPORT_SYMBOL(dump_vma); 192
diff --git a/mm/debug.c b/mm/debug.c index 95b6ab809c0e..68b3ba3cf603 100644 --- a/mm/debug.c +++ b/mm/debug.c @@ -181,12 +181,12 @@ void dump_vma(const struct vm_area_struct *vma) pr_emerg("vma %px start %px end %px mm %px\n" "prot %lx anon_vma %px vm_ops %px\n" "pgoff %lx file %px private_data %px\n" - "flags: %#lx(%pGv)\n", + "flags: %#lx(%pGv) refcnt %x\n", vma, (void *)vma->vm_start, (void *)vma->vm_end, vma->vm_mm, (unsigned long)pgprot_val(vma->vm_page_prot), vma->anon_vma, vma->vm_ops, vma->vm_pgoff, vma->vm_file, vma->vm_private_data, - vma->vm_flags, &vma->vm_flags); + vma->vm_flags, &vma->vm_flags, refcount_read(&vma->vm_refcnt)); } EXPORT_SYMBOL(dump_vma);
vm_refcnt encodes a number of useful states: - whether vma is attached or detached - the number of current vma readers - presence of a vma writer Let's include it in the vma dump. Signed-off-by: Suren Baghdasaryan <surenb@google.com> --- mm/debug.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)