Hi Waiman,

[auto build test ERROR on linus/master]
[also build test ERROR on v4.14-rc3]
[cannot apply to next-20170929]
[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/Waiman-Long/vfs-Use-dlock-list-for-SB-s-s_inodes-list/20171007-210724
config: i386-randconfig-i0-201740 (attached as .config)
compiler: gcc-4.8 (Debian 4.8.4-1) 4.8.4
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   lib/dlock-list.c: In function 'cpu2idx_init':
>> lib/dlock-list.c:75:16: error: incompatible types when assigning to type 
>> 'cpumask_var_t' from type 'const struct cpumask *'
      sibling_mask = topology_sibling_cpumask(cpu);
                   ^
   lib/dlock-list.c:76:7: warning: the address of 'sibling_mask' will always 
evaluate as 'true' [-Waddress]
      if (sibling_mask) {
          ^

vim +75 lib/dlock-list.c

    44  
    45  /*
    46   * Initialize cpu2idx mapping table & nr_dlock_lists.
    47   *
    48   * It is possible that a dlock-list can be allocated before the cpu2idx 
is
    49   * initialized. In this case, all the cpus are mapped to the first entry
    50   * before initialization.
    51   *
    52   * All the sibling CPUs of a sibling group will map to the same dlock 
list so
    53   * as to reduce the number of dlock lists to be maintained while 
minimizing
    54   * cacheline contention.
    55   *
    56   * As the sibling masks are set up in the core initcall phase, this 
function
    57   * has to be done in the postcore phase to get the right data.
    58   */
    59  static int __init cpu2idx_init(void)
    60  {
    61          int idx, cpu;
    62          cpumask_var_t sibling_mask;
    63          static struct cpumask mask __initdata;
    64  
    65          cpumask_clear(&mask);
    66          idx = 0;
    67          for_each_possible_cpu(cpu) {
    68                  int scpu;
    69  
    70                  if (cpumask_test_cpu(cpu, &mask))
    71                          continue;
    72                  per_cpu(cpu2idx, cpu) = idx;
    73                  cpumask_set_cpu(cpu, &mask);
    74  
  > 75                  sibling_mask = topology_sibling_cpumask(cpu);
    76                  if (sibling_mask) {
    77                          for_each_cpu(scpu, sibling_mask) {
    78                                  per_cpu(cpu2idx, scpu) = idx;
    79                                  cpumask_set_cpu(scpu, &mask);
    80                          }
    81                  }
    82                  idx++;
    83          }
    84  
    85          /*
    86           * nr_dlock_lists can only be set after cpu2idx is properly
    87           * initialized.
    88           */
    89          smp_mb();
    90          nr_dlock_lists = idx;
    91          pr_info("dlock-list: %d head entries per dlock list.\n",
    92                  nr_dlock_lists);
    93          return 0;
    94  }
    95  postcore_initcall(cpu2idx_init);
    96  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to