All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: [peterz-queue:locking/core 5/6] kernel/locking/rwsem.c:1027:3: error: call to undeclared function 'LOCKEVENT_waiter_type'; ISO C99 and later do not support implicit function declarations
Date: Fri, 24 Feb 2023 01:09:10 +0800	[thread overview]
Message-ID: <202302240131.eS42jjFi-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git locking/core
head:   6c17797b554c635c394d7de0ceb49b705d182340
commit: 425d19e8c6d9ec3d3f55b7497526947235cc8d77 [5/6] locking/rwsem: Unify wait loop
config: s390-buildonly-randconfig-r003-20230222 (https://download.01.org/0day-ci/archive/20230224/202302240131.eS42jjFi-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project db89896bbbd2251fff457699635acbbedeead27f)
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
        # install s390 cross compiling tool for clang build
        # apt-get install binutils-s390x-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?id=425d19e8c6d9ec3d3f55b7497526947235cc8d77
        git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
        git fetch --no-tags peterz-queue locking/core
        git checkout 425d19e8c6d9ec3d3f55b7497526947235cc8d77
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=s390 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=s390 SHELL=/bin/bash kernel/locking/

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/202302240131.eS42jjFi-lkp@intel.com/

All errors (new ones prefixed by >>):

>> kernel/locking/rwsem.c:1027:3: error: call to undeclared function 'LOCKEVENT_waiter_type'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
                   lockevent_inc(waiter_type(waiter, rwsem_sleep_reader, rwsem_sleep_writer));
                   ^
   kernel/locking/lock_events.h:43:45: note: expanded from macro 'lockevent_inc'
   #define lockevent_inc(ev)         __lockevent_inc(LOCKEVENT_ ##ev, true)
                                                     ^
   <scratch space>:59:1: note: expanded from here
   LOCKEVENT_waiter_type
   ^
>> kernel/locking/rwsem.c:1027:37: error: use of undeclared identifier 'rwsem_sleep_reader'
                   lockevent_inc(waiter_type(waiter, rwsem_sleep_reader, rwsem_sleep_writer));
                                                     ^
>> kernel/locking/rwsem.c:1027:57: error: use of undeclared identifier 'rwsem_sleep_writer'
                   lockevent_inc(waiter_type(waiter, rwsem_sleep_reader, rwsem_sleep_writer));
                                                                         ^
   kernel/locking/rwsem.c:1031:2: error: call to undeclared function 'LOCKEVENT_waiter_type'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
           lockevent_inc(waiter_type(waiter, rwsem_rlock, rwsem_wlock));
           ^
   kernel/locking/lock_events.h:43:45: note: expanded from macro 'lockevent_inc'
   #define lockevent_inc(ev)         __lockevent_inc(LOCKEVENT_ ##ev, true)
                                                     ^
   <scratch space>:63:1: note: expanded from here
   LOCKEVENT_waiter_type
   ^
>> kernel/locking/rwsem.c:1031:36: error: use of undeclared identifier 'rwsem_rlock'
           lockevent_inc(waiter_type(waiter, rwsem_rlock, rwsem_wlock));
                                             ^
>> kernel/locking/rwsem.c:1031:49: error: use of undeclared identifier 'rwsem_wlock'
           lockevent_inc(waiter_type(waiter, rwsem_rlock, rwsem_wlock));
                                                          ^
>> kernel/locking/rwsem.c:1038:36: error: use of undeclared identifier 'rwsem_rlock_fail'
           lockevent_inc(waiter_type(waiter, rwsem_rlock_fail, rwsem_wlock_fail));
                                             ^
>> kernel/locking/rwsem.c:1038:54: error: use of undeclared identifier 'rwsem_wlock_fail'
           lockevent_inc(waiter_type(waiter, rwsem_rlock_fail, rwsem_wlock_fail));
                                                               ^
   8 errors generated.


vim +/LOCKEVENT_waiter_type +1027 kernel/locking/rwsem.c

  1002	
  1003	#define waiter_type(_waiter, _r, _w)	\
  1004		((_waiter)->type == RWSEM_WAITING_FOR_READ ? (_r) : (_w))
  1005	
  1006	static __always_inline struct rw_semaphore *
  1007	rwsem_waiter_wait(struct rw_semaphore *sem, struct rwsem_waiter *waiter, int state)
  1008	{
  1009		trace_contention_begin(sem, waiter_type(waiter, LCB_F_READ, LCB_F_WRITE));
  1010	
  1011		/* wait to be given the lock */
  1012		for (;;) {
  1013			set_current_state(state);
  1014			if (!smp_load_acquire(&waiter->task)) {
  1015				/* Matches rwsem_waiter_wake()'s smp_store_release(). */
  1016				break;
  1017			}
  1018			if (signal_pending_state(state, current)) {
  1019				raw_spin_lock_irq(&sem->wait_lock);
  1020				if (waiter->task)
  1021					goto out_nolock;
  1022				raw_spin_unlock_irq(&sem->wait_lock);
  1023				/* Ordered by sem->wait_lock against rwsem_mark_wake(). */
  1024				break;
  1025			}
  1026			schedule_preempt_disabled();
> 1027			lockevent_inc(waiter_type(waiter, rwsem_sleep_reader, rwsem_sleep_writer));
  1028		}
  1029	
  1030		__set_current_state(TASK_RUNNING);
> 1031		lockevent_inc(waiter_type(waiter, rwsem_rlock, rwsem_wlock));
  1032		trace_contention_end(sem, 0);
  1033		return sem;
  1034	
  1035	out_nolock:
  1036		rwsem_del_wake_waiter(sem, waiter);
  1037		__set_current_state(TASK_RUNNING);
> 1038		lockevent_inc(waiter_type(waiter, rwsem_rlock_fail, rwsem_wlock_fail));
  1039		trace_contention_end(sem, -EINTR);
  1040		return ERR_PTR(-EINTR);
  1041	}
  1042	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

                 reply	other threads:[~2023-02-23 17:11 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202302240131.eS42jjFi-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.