Re: [PATCH v6 03/15] mm/khugepaged: add struct collapse_control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jun 5, 2022 at 7:42 PM kernel test robot <lkp@xxxxxxxxx> wrote:
>
> Hi Zach,
>
> Thank you for the patch! Perhaps something to improve:
>
> [auto build test WARNING on akpm-mm/mm-everything]
>
> url:    https://github.com/intel-lab-lkp/linux/commits/Zach-O-Keefe/mm-userspace-hugepage-collapse/20220606-012953
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
> config: x86_64-rhel-8.3 (https://download.01.org/0day-ci/archive/20220606/202206060911.I8rRqGwC-lkp@xxxxxxxxx/config)
> compiler: gcc-11 (Debian 11.3.0-1) 11.3.0
> reproduce (this is a W=1 build):
>         # https://github.com/intel-lab-lkp/linux/commit/d87b6065d6050b89930cca0814921aca7c269286
>         git remote add linux-review https://github.com/intel-lab-lkp/linux
>         git fetch --no-tags linux-review Zach-O-Keefe/mm-userspace-hugepage-collapse/20220606-012953
>         git checkout d87b6065d6050b89930cca0814921aca7c269286
>         # save the config file
>         mkdir build_dir && cp config build_dir/.config
>         make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>
> All warnings (new ones prefixed by >>):
>
>    mm/khugepaged.c: In function 'khugepaged':
> >> mm/khugepaged.c:2284:1: warning: the frame size of 4160 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>     2284 | }
>          | ^

Thanks lkp@xxxxxxxxx.

This is due to config with:

CONFIG_FRAME_WARN=2048
CONFIG_NODES_SHIFT=10

Where struct collapse_control has a member int
node_load[MAX_NUMNODES], and we stack allocate one.

Is this a configuration that needs to be supported? 1024 nodes seems
like a lot and I'm not sure if these configs are randomly generated or
are reminiscent of real systems.

Thanks,
Zach

>
> vim +2284 mm/khugepaged.c
>
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2261
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2262  static int khugepaged(void *none)
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2263  {
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2264      struct mm_slot *mm_slot;
> d87b6065d6050b Zach O'Keefe       2022-06-03  2265      struct collapse_control cc = {
> d87b6065d6050b Zach O'Keefe       2022-06-03  2266              .last_target_node = NUMA_NO_NODE,
> d87b6065d6050b Zach O'Keefe       2022-06-03  2267      };
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2268
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2269      set_freezable();
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2270      set_user_nice(current, MAX_NICE);
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2271
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2272      while (!kthread_should_stop()) {
> d87b6065d6050b Zach O'Keefe       2022-06-03  2273              khugepaged_do_scan(&cc);
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2274              khugepaged_wait_work();
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2275      }
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2276
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2277      spin_lock(&khugepaged_mm_lock);
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2278      mm_slot = khugepaged_scan.mm_slot;
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2279      khugepaged_scan.mm_slot = NULL;
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2280      if (mm_slot)
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2281              collect_mm_slot(mm_slot);
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2282      spin_unlock(&khugepaged_mm_lock);
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2283      return 0;
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26 @2284  }
> b46e756f5e4703 Kirill A. Shutemov 2016-07-26  2285
>
> --
> 0-DAY CI Kernel Test Service
> https://01.org/lkp
>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux