[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201703241639.k8SjGKnN%fengguang.wu@intel.com>
Date: Fri, 24 Mar 2017 16:19:03 +0800
From: kbuild test robot <lkp@...el.com>
To: Waiman Long <longman@...hat.com>
Cc: kbuild-all@...org, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Jonathan Corbet <corbet@....net>, linux-kernel@...r.kernel.org,
linux-doc@...r.kernel.org,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Davidlohr Bueso <dave@...olabs.net>,
Mike Galbraith <umgwanakikbuti@...il.com>,
Scott J Norton <scott.norton@....com>,
Waiman Long <longman@...hat.com>
Subject: Re: [PATCH-tip v6 18/22] TP-futex: Group readers together in wait
queue
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
Download attachment ".config.gz" of type "application/gzip" (8857 bytes)
Powered by blists - more mailing lists