lkml.org 
[lkml]   [2017]   [Oct]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v6 4/6] lib/dlock-list: Make sibling CPUs share the same linked list
    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
    [unhandled content-type:application/gzip]
    \
     
     \ /
      Last update: 2017-10-07 16:39    [W:4.306 / U:0.276 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site