Le 05/08/2020 à 12:43, kernel test robot a écrit :
Hi Laurent,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on powerpc/next]
[also build test ERROR on linux/master linus/master v5.8 next-20200804]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/0day-ci/linux/commits/Laurent-Dufour/powerpc-drmem-Don-t-compute-the-NUMA-node-for-each-LMB/20200805-173213
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-mpc885_ads_defconfig (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
         wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
         chmod +x ~/bin/make.cross
         # save the attached .config to linux build tree
         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross 
ARCH=powerpc

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All errors (new ones prefixed by >>):

    arch/powerpc/mm/drmem.c: In function 'init_drmem_v2_lmbs':
arch/powerpc/mm/drmem.c:457:8: error: 'struct drmem_lmb' has no member named 
'nid'
      457 |     lmb->nid = first->nid;
          |        ^~
    arch/powerpc/mm/drmem.c:457:21: error: 'struct drmem_lmb' has no member 
named 'nid'
      457 |     lmb->nid = first->nid;
          |                     ^~

My mistake, the nid member is only present when CONFIG_MEMORY_HOTPLUG is set.

I'll send a new version fixing this.


vim +457 arch/powerpc/mm/drmem.c

    397 
    398 static void __init init_drmem_v2_lmbs(const __be32 *prop)
    399 {
    400         struct drmem_lmb *lmb, *first;
    401         struct of_drconf_cell_v2 dr_cell;
    402         const __be32 *p;
    403         u32 i, j, lmb_sets;
    404         int lmb_index;
    405 
    406         lmb_sets = of_read_number(prop++, 1);
    407         if (lmb_sets == 0)
    408                 return;
    409 
    410         /* first pass, calculate the number of LMBs */
    411         p = prop;
    412         for (i = 0; i < lmb_sets; i++) {
    413                 read_drconf_v2_cell(&dr_cell, &p);
    414                 drmem_info->n_lmbs += dr_cell.seq_lmbs;
    415         }
    416 
    417         drmem_info->lmbs = kcalloc(drmem_info->n_lmbs, sizeof(*lmb),
    418                                    GFP_KERNEL);
    419         if (!drmem_info->lmbs)
    420                 return;
    421 
    422         /* second pass, read in the LMB information */
    423         lmb_index = 0;
    424         p = prop;
    425         first = NULL;
    426 
    427         for (i = 0; i < lmb_sets; i++) {
    428                 read_drconf_v2_cell(&dr_cell, &p);
    429 
    430                 /*
    431                  * Fetch the NUMA node id for the fist set or if the
    432                  * associativity index is different from the previous 
set.
    433                  */
    434                 if (first && dr_cell.aa_index != first->aa_index)
    435                         first = NULL;
    436 
    437                 for (j = 0; j < dr_cell.seq_lmbs; j++) {
    438                         lmb = &drmem_info->lmbs[lmb_index++];
    439 
    440                         lmb->base_addr = dr_cell.base_addr;
    441                         dr_cell.base_addr += drmem_info->lmb_size;
    442 
    443                         lmb->drc_index = dr_cell.drc_index;
    444                         dr_cell.drc_index++;
    445 
    446                         lmb->aa_index = dr_cell.aa_index;
    447                         lmb->flags = dr_cell.flags;
    448 
    449                         /*
    450                          * All the LMB in the set share the same NUMA
    451                          * associativity property. So read that node 
only once.
    452                          */
    453                         if (!first) {
    454                                 lmb_set_nid(lmb);
    455                                 first = lmb;
    456                         } else {
  > 457                                      lmb->nid = first->nid;
    458                         }
    459                 }
    460         }
    461 }
    462 

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org


Reply via email to