Hi Waiman, [auto build test ERROR on next-20170323] [also build test ERROR on v4.11-rc3] [cannot apply to linus/master linux/master tip/perf/core v4.9-rc8 v4.9-rc7 v4.9-rc6] [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/perf-bench-New-microbenchmark-for-userspace-mutex-performance/20170324-135043 config: m32r-usrv_defconfig (attached as .config) compiler: m32r-linux-gcc (GCC) 6.2.0 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=m32r All errors (new ones prefixed by >>): kernel/built-in.o: In function `futex_spin_on_reader': >> kernel/futex.c:4003: undefined reference to `osq_lock' kernel/futex.c:4003:(.text+0x5cc98): relocation truncated to fit: R_M32R_26_PCREL_RELA against undefined symbol `osq_lock' >> kernel/futex.c:4040: undefined reference to `osq_unlock' kernel/futex.c:4040:(.text+0x5cd2c): relocation truncated to fit: R_M32R_26_PCREL_RELA against undefined symbol `osq_unlock' kernel/futex.c:4033: undefined reference to `osq_unlock' kernel/futex.c:4033:(.text+0x5d0d4): relocation truncated to fit: R_M32R_26_PCREL_RELA against undefined symbol `osq_unlock' vim +4003 kernel/futex.c 3997 first_reader = READ_ONCE(state->first_reader); 3998 if (!first_reader) 3999 first_reader = cmpxchg(&state->first_reader, NULL, current); 4000 if (!first_reader) 4001 goto out; /* Became the first reader */ 4002 > 4003 if (!osq_lock(&state->reader_osq)) 4004 goto reschedule; 4005 4006 rcu_read_lock(); 4007 for (;;) { 4008 u32 uval; 4009 4010 if (!state->handoff_pid && (prefer_reader || 4011 (first_reader == READ_ONCE(state->mutex_owner)))) { 4012 ret = futex_trylock_preempt_disabled(uaddr, 4013 FUTEX_SHARED, &uval, false); 4014 /* 4015 * Return if lock acquired or an error happened 4016 */ 4017 if (ret) 4018 break; 4019 } 4020 4021 /* 4022 * Reread the first reader value again. 4023 */ 4024 first_reader = READ_ONCE(state->first_reader); 4025 if (!first_reader) 4026 first_reader = cmpxchg(&state->first_reader, NULL, 4027 current); 4028 if (!first_reader || !first_reader->on_cpu) 4029 break; 4030 4031 if (need_resched()) { 4032 rcu_read_unlock(); 4033 osq_unlock(&state->reader_osq); 4034 goto reschedule; 4035 } 4036 4037 cpu_relax(); 4038 } 4039 rcu_read_unlock(); > 4040 osq_unlock(&state->reader_osq); 4041 out: 4042 *pfirst = first_reader; 4043 preempt_enable(); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip