* [dhowells-fs:pipe-list 37/39] include/linux/wait.h:129: undefined reference to `sock_from_file'
@ 2023-03-14 21:01 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-03-14 21:01 UTC (permalink / raw)
To: David Howells; +Cc: oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git pipe-list
head: 04b41c19739aec7e0cae6cba28b4e317d703a614
commit: 7cc1f70554018f6b92c0f424855474939d0882ce [37/39] pipe, splice: Make splice use the new pipe helpers
config: xtensa-randconfig-r002-20230312 (https://download.01.org/0day-ci/archive/20230315/202303150438.A7QwwhSz-lkp@intel.com/config)
compiler: xtensa-linux-gcc (GCC) 12.1.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
# https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/commit/?id=7cc1f70554018f6b92c0f424855474939d0882ce
git remote add dhowells-fs https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
git fetch --no-tags dhowells-fs pipe-list
git checkout 7cc1f70554018f6b92c0f424855474939d0882ce
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=xtensa olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=xtensa SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303150438.A7QwwhSz-lkp@intel.com/
All errors (new ones prefixed by >>):
xtensa-linux-ld: fs/splice.o: in function `wakeup_pipe_writers':
fs/splice.c:435: undefined reference to `sock_from_file'
xtensa-linux-ld: fs/splice.c:166: undefined reference to `sock_sendmsg'
xtensa-linux-ld: fs/splice.o: in function `waitqueue_active':
>> include/linux/wait.h:129: undefined reference to `sock_from_file'
xtensa-linux-ld: fs/splice.o: in function `pipe_to_sendmsg':
fs/splice.c:413: undefined reference to `sock_sendmsg'
vim +129 include/linux/wait.h
^1da177e4c3f41 Linus Torvalds 2005-04-16 96
69e51e92a39408 Peter Zijlstra 2015-10-23 97 /**
69e51e92a39408 Peter Zijlstra 2015-10-23 98 * waitqueue_active -- locklessly test for waiters on the queue
9d9d676f595b50 Ingo Molnar 2017-03-05 99 * @wq_head: the waitqueue to test for waiters
69e51e92a39408 Peter Zijlstra 2015-10-23 100 *
69e51e92a39408 Peter Zijlstra 2015-10-23 101 * returns true if the wait list is not empty
69e51e92a39408 Peter Zijlstra 2015-10-23 102 *
69e51e92a39408 Peter Zijlstra 2015-10-23 103 * NOTE: this function is lockless and requires care, incorrect usage _will_
69e51e92a39408 Peter Zijlstra 2015-10-23 104 * lead to sporadic and non-obvious failure.
69e51e92a39408 Peter Zijlstra 2015-10-23 105 *
9d9d676f595b50 Ingo Molnar 2017-03-05 106 * Use either while holding wait_queue_head::lock or when used for wakeups
8c1007fdc71fdf Tobin C. Harding 2019-04-09 107 * with an extra smp_mb() like::
69e51e92a39408 Peter Zijlstra 2015-10-23 108 *
69e51e92a39408 Peter Zijlstra 2015-10-23 109 * CPU0 - waker CPU1 - waiter
69e51e92a39408 Peter Zijlstra 2015-10-23 110 *
69e51e92a39408 Peter Zijlstra 2015-10-23 111 * for (;;) {
4b1c480bfa3b24 Ingo Molnar 2017-03-05 112 * @cond = true; prepare_to_wait(&wq_head, &wait, state);
69e51e92a39408 Peter Zijlstra 2015-10-23 113 * smp_mb(); // smp_mb() from set_current_state()
4b1c480bfa3b24 Ingo Molnar 2017-03-05 114 * if (waitqueue_active(wq_head)) if (@cond)
4b1c480bfa3b24 Ingo Molnar 2017-03-05 115 * wake_up(wq_head); break;
69e51e92a39408 Peter Zijlstra 2015-10-23 116 * schedule();
69e51e92a39408 Peter Zijlstra 2015-10-23 117 * }
4b1c480bfa3b24 Ingo Molnar 2017-03-05 118 * finish_wait(&wq_head, &wait);
69e51e92a39408 Peter Zijlstra 2015-10-23 119 *
69e51e92a39408 Peter Zijlstra 2015-10-23 120 * Because without the explicit smp_mb() it's possible for the
69e51e92a39408 Peter Zijlstra 2015-10-23 121 * waitqueue_active() load to get hoisted over the @cond store such that we'll
69e51e92a39408 Peter Zijlstra 2015-10-23 122 * observe an empty wait list while the waiter might not observe @cond.
69e51e92a39408 Peter Zijlstra 2015-10-23 123 *
69e51e92a39408 Peter Zijlstra 2015-10-23 124 * Also note that this 'optimization' trades a spin_lock() for an smp_mb(),
69e51e92a39408 Peter Zijlstra 2015-10-23 125 * which (when the lock is uncontended) are of roughly equal cost.
69e51e92a39408 Peter Zijlstra 2015-10-23 126 */
9d9d676f595b50 Ingo Molnar 2017-03-05 127 static inline int waitqueue_active(struct wait_queue_head *wq_head)
^1da177e4c3f41 Linus Torvalds 2005-04-16 128 {
2055da97389a60 Ingo Molnar 2017-06-20 @129 return !list_empty(&wq_head->head);
^1da177e4c3f41 Linus Torvalds 2005-04-16 130 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 131
:::::: The code at line 129 was first introduced by commit
:::::: 2055da97389a605c8a00d163d40903afbe413921 sched/wait: Disambiguate wq_entry->task_list and wq_head->task_list naming
:::::: TO: Ingo Molnar <mingo@kernel.org>
:::::: CC: Ingo Molnar <mingo@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-03-14 21:01 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-14 21:01 [dhowells-fs:pipe-list 37/39] include/linux/wait.h:129: undefined reference to `sock_from_file' kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).