All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [peterz-queue:locking/ww_rt_mutex 4/18] lib/test_lockup.c:505:43: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'rlock'; did you mean 'raw_lock'?
@ 2021-07-19  1:21 ` kernel test robot
  0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2021-07-19  1:21 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: kbuild-all, linux-kernel, Peter Zijlstra

[-- Attachment #1: Type: text/plain, Size: 16602 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git locking/ww_rt_mutex
head:   401531ec0e4c84f3d26d07d1171f893fee6a08aa
commit: 511b1625b0aa486360862d240d93d54c005ccaf0 [4/18] locking/mutex: Make mutex::wait_lock raw
config: nios2-buildonly-randconfig-r003-20210718 (attached as .config)
compiler: nios2-linux-gcc (GCC) 10.3.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/peterz/queue.git/commit/?id=511b1625b0aa486360862d240d93d54c005ccaf0
        git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
        git fetch --no-tags peterz-queue locking/ww_rt_mutex
        git checkout 511b1625b0aa486360862d240d93d54c005ccaf0
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross O=build_dir ARCH=nios2 SHELL=/bin/bash lib/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   In file included from <command-line>:
   lib/test_lockup.c: In function 'test_lockup_init':
>> lib/test_lockup.c:505:43: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'rlock'; did you mean 'raw_lock'?
     505 |          offsetof(struct mutex, wait_lock.rlock.magic),
         |                                           ^~~~~
   include/linux/compiler_types.h:140:57: note: in definition of macro '__compiler_offsetof'
     140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
         |                                                         ^
   lib/test_lockup.c:505:10: note: in expansion of macro 'offsetof'
     505 |          offsetof(struct mutex, wait_lock.rlock.magic),
         |          ^~~~~~~~


vim +505 lib/test_lockup.c

30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  448  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  449  static int __init test_lockup_init(void)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  450  {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  451  	u64 test_start = local_clock();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  452  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  453  	main_task = current;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  454  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  455  	switch (state[0]) {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  456  	case 'S':
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  457  		wait_state = TASK_INTERRUPTIBLE;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  458  		break;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  459  	case 'D':
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  460  		wait_state = TASK_UNINTERRUPTIBLE;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  461  		break;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  462  	case 'K':
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  463  		wait_state = TASK_KILLABLE;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  464  		break;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  465  	case 'R':
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  466  		wait_state = TASK_RUNNING;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  467  		break;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  468  	default:
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  469  		pr_err("unknown state=%s\n", state);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  470  		return -EINVAL;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  471  	}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  472  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  473  	if (alloc_pages_atomic)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  474  		alloc_pages_gfp = GFP_ATOMIC;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  475  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  476  	if (test_kernel_ptr(lock_spinlock_ptr, sizeof(spinlock_t)) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  477  	    test_kernel_ptr(lock_rwlock_ptr, sizeof(rwlock_t)) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  478  	    test_kernel_ptr(lock_mutex_ptr, sizeof(struct mutex)) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  479  	    test_kernel_ptr(lock_rwsem_ptr, sizeof(struct rw_semaphore)))
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  480  		return -EINVAL;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  481  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  482  #ifdef CONFIG_DEBUG_SPINLOCK
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  483  #ifdef CONFIG_PREEMPT_RT
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  484  	if (test_magic(lock_spinlock_ptr,
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  485  		       offsetof(spinlock_t, lock.wait_lock.magic),
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  486  		       SPINLOCK_MAGIC) ||
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  487  	    test_magic(lock_rwlock_ptr,
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  488  		       offsetof(rwlock_t, rtmutex.wait_lock.magic),
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  489  		       SPINLOCK_MAGIC) ||
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  490  	    test_magic(lock_mutex_ptr,
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  491  		       offsetof(struct mutex, lock.wait_lock.magic),
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  492  		       SPINLOCK_MAGIC) ||
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  493  	    test_magic(lock_rwsem_ptr,
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  494  		       offsetof(struct rw_semaphore, rtmutex.wait_lock.magic),
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  495  		       SPINLOCK_MAGIC))
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  496  		return -EINVAL;
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  497  #else
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  498  	if (test_magic(lock_spinlock_ptr,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  499  		       offsetof(spinlock_t, rlock.magic),
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  500  		       SPINLOCK_MAGIC) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  501  	    test_magic(lock_rwlock_ptr,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  502  		       offsetof(rwlock_t, magic),
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  503  		       RWLOCK_MAGIC) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  504  	    test_magic(lock_mutex_ptr,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06 @505  		       offsetof(struct mutex, wait_lock.rlock.magic),
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  506  		       SPINLOCK_MAGIC) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  507  	    test_magic(lock_rwsem_ptr,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  508  		       offsetof(struct rw_semaphore, wait_lock.magic),
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  509  		       SPINLOCK_MAGIC))
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  510  		return -EINVAL;
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  511  #endif
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  512  #endif
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  513  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  514  	if ((wait_state != TASK_RUNNING ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  515  	     (call_cond_resched && !reacquire_locks) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  516  	     (alloc_pages_nr && gfpflags_allow_blocking(alloc_pages_gfp))) &&
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  517  	    (test_disable_irq || disable_softirq || disable_preempt ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  518  	     lock_rcu || lock_spinlock_ptr || lock_rwlock_ptr)) {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  519  		pr_err("refuse to sleep in atomic context\n");
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  520  		return -EINVAL;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  521  	}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  522  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  523  	if (lock_mmap_sem && !main_task->mm) {
c1e8d7c6a7a682 Michel Lespinasse         2020-06-08  524  		pr_err("no mm to lock mmap_lock\n");
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  525  		return -EINVAL;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  526  	}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  527  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  528  	if (test_file_path[0]) {
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  529  		test_file = filp_open(test_file_path, O_RDONLY, 0);
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  530  		if (IS_ERR(test_file)) {
3adf3bae0d6123 Tiezhu Yang               2020-08-11  531  			pr_err("failed to open %s: %ld\n", test_file_path, PTR_ERR(test_file));
3adf3bae0d6123 Tiezhu Yang               2020-08-11  532  			return PTR_ERR(test_file);
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  533  		}
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  534  		test_inode = file_inode(test_file);
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  535  	} else if (test_lock_inode ||
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  536  		   test_lock_mapping ||
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  537  		   test_lock_sb_umount) {
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  538  		pr_err("no file to lock\n");
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  539  		return -EINVAL;
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  540  	}
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  541  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  542  	if (test_lock_inode && test_inode)
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  543  		lock_rwsem_ptr = (unsigned long)&test_inode->i_rwsem;
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  544  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  545  	if (test_lock_mapping && test_file && test_file->f_mapping)
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  546  		lock_rwsem_ptr = (unsigned long)&test_file->f_mapping->i_mmap_rwsem;
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  547  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  548  	if (test_lock_sb_umount && test_inode)
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  549  		lock_rwsem_ptr = (unsigned long)&test_inode->i_sb->s_umount;
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  550  
ad3f434b87e7d2 Colin Ian King            2020-04-06  551  	pr_notice("START pid=%d time=%u +%u ns cooldown=%u +%u ns iterations=%u state=%s %s%s%s%s%s%s%s%s%s%s%s\n",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  552  		  main_task->pid, time_secs, time_nsecs,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  553  		  cooldown_secs, cooldown_nsecs, iterations, state,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  554  		  all_cpus ? "all_cpus " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  555  		  iowait ? "iowait " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  556  		  test_disable_irq ? "disable_irq " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  557  		  disable_softirq ? "disable_softirq " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  558  		  disable_preempt ? "disable_preempt " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  559  		  lock_rcu ? "lock_rcu " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  560  		  lock_read ? "lock_read " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  561  		  touch_softlockup ? "touch_softlockup " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  562  		  touch_hardlockup ? "touch_hardlockup " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  563  		  call_cond_resched ? "call_cond_resched " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  564  		  reacquire_locks ? "reacquire_locks " : "");
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  565  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  566  	if (alloc_pages_nr)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  567  		pr_notice("ALLOCATE PAGES nr=%u order=%u gfp=%pGg %s\n",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  568  			  alloc_pages_nr, alloc_pages_order, &alloc_pages_gfp,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  569  			  reallocate_pages ? "reallocate_pages " : "");
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  570  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  571  	if (all_cpus) {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  572  		unsigned int cpu;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  573  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  574  		cpus_read_lock();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  575  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  576  		preempt_disable();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  577  		master_cpu = smp_processor_id();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  578  		for_each_online_cpu(cpu) {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  579  			INIT_WORK(per_cpu_ptr(&test_works, cpu), test_work_fn);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  580  			queue_work_on(cpu, system_highpri_wq,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  581  				      per_cpu_ptr(&test_works, cpu));
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  582  		}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  583  		preempt_enable();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  584  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  585  		for_each_online_cpu(cpu)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  586  			flush_work(per_cpu_ptr(&test_works, cpu));
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  587  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  588  		cpus_read_unlock();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  589  	} else {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  590  		test_lockup(true);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  591  	}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  592  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  593  	if (measure_lock_wait)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  594  		pr_notice("Maximum lock wait: %lld ns\n",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  595  			  atomic64_read(&max_lock_wait));
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  596  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  597  	if (alloc_pages_nr)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  598  		pr_notice("Page allocation failed %u times\n",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  599  			  atomic_read(&alloc_pages_failed));
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  600  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  601  	pr_notice("FINISH in %llu ns\n", local_clock() - test_start);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  602  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  603  	if (test_file)
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  604  		fput(test_file);
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  605  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  606  	if (signal_pending(main_task))
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  607  		return -EINTR;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  608  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  609  	return -EAGAIN;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  610  }
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  611  module_init(test_lockup_init);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  612  

:::::: The code at line 505 was first introduced by commit
:::::: 30428ef5d1e8caf78639cc70a802f1cb7b1cec04 lib/test_lockup: test module to generate lockups

:::::: TO: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30474 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [peterz-queue:locking/ww_rt_mutex 4/18] lib/test_lockup.c:505:43: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'rlock'; did you mean 'raw_lock'?
@ 2021-07-19  1:21 ` kernel test robot
  0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2021-07-19  1:21 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 16815 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git locking/ww_rt_mutex
head:   401531ec0e4c84f3d26d07d1171f893fee6a08aa
commit: 511b1625b0aa486360862d240d93d54c005ccaf0 [4/18] locking/mutex: Make mutex::wait_lock raw
config: nios2-buildonly-randconfig-r003-20210718 (attached as .config)
compiler: nios2-linux-gcc (GCC) 10.3.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/peterz/queue.git/commit/?id=511b1625b0aa486360862d240d93d54c005ccaf0
        git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
        git fetch --no-tags peterz-queue locking/ww_rt_mutex
        git checkout 511b1625b0aa486360862d240d93d54c005ccaf0
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross O=build_dir ARCH=nios2 SHELL=/bin/bash lib/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   In file included from <command-line>:
   lib/test_lockup.c: In function 'test_lockup_init':
>> lib/test_lockup.c:505:43: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'rlock'; did you mean 'raw_lock'?
     505 |          offsetof(struct mutex, wait_lock.rlock.magic),
         |                                           ^~~~~
   include/linux/compiler_types.h:140:57: note: in definition of macro '__compiler_offsetof'
     140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
         |                                                         ^
   lib/test_lockup.c:505:10: note: in expansion of macro 'offsetof'
     505 |          offsetof(struct mutex, wait_lock.rlock.magic),
         |          ^~~~~~~~


vim +505 lib/test_lockup.c

30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  448  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  449  static int __init test_lockup_init(void)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  450  {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  451  	u64 test_start = local_clock();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  452  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  453  	main_task = current;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  454  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  455  	switch (state[0]) {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  456  	case 'S':
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  457  		wait_state = TASK_INTERRUPTIBLE;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  458  		break;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  459  	case 'D':
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  460  		wait_state = TASK_UNINTERRUPTIBLE;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  461  		break;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  462  	case 'K':
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  463  		wait_state = TASK_KILLABLE;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  464  		break;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  465  	case 'R':
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  466  		wait_state = TASK_RUNNING;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  467  		break;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  468  	default:
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  469  		pr_err("unknown state=%s\n", state);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  470  		return -EINVAL;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  471  	}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  472  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  473  	if (alloc_pages_atomic)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  474  		alloc_pages_gfp = GFP_ATOMIC;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  475  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  476  	if (test_kernel_ptr(lock_spinlock_ptr, sizeof(spinlock_t)) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  477  	    test_kernel_ptr(lock_rwlock_ptr, sizeof(rwlock_t)) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  478  	    test_kernel_ptr(lock_mutex_ptr, sizeof(struct mutex)) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  479  	    test_kernel_ptr(lock_rwsem_ptr, sizeof(struct rw_semaphore)))
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  480  		return -EINVAL;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  481  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  482  #ifdef CONFIG_DEBUG_SPINLOCK
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  483  #ifdef CONFIG_PREEMPT_RT
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  484  	if (test_magic(lock_spinlock_ptr,
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  485  		       offsetof(spinlock_t, lock.wait_lock.magic),
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  486  		       SPINLOCK_MAGIC) ||
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  487  	    test_magic(lock_rwlock_ptr,
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  488  		       offsetof(rwlock_t, rtmutex.wait_lock.magic),
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  489  		       SPINLOCK_MAGIC) ||
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  490  	    test_magic(lock_mutex_ptr,
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  491  		       offsetof(struct mutex, lock.wait_lock.magic),
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  492  		       SPINLOCK_MAGIC) ||
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  493  	    test_magic(lock_rwsem_ptr,
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  494  		       offsetof(struct rw_semaphore, rtmutex.wait_lock.magic),
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  495  		       SPINLOCK_MAGIC))
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  496  		return -EINVAL;
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  497  #else
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  498  	if (test_magic(lock_spinlock_ptr,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  499  		       offsetof(spinlock_t, rlock.magic),
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  500  		       SPINLOCK_MAGIC) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  501  	    test_magic(lock_rwlock_ptr,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  502  		       offsetof(rwlock_t, magic),
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  503  		       RWLOCK_MAGIC) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  504  	    test_magic(lock_mutex_ptr,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06 @505  		       offsetof(struct mutex, wait_lock.rlock.magic),
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  506  		       SPINLOCK_MAGIC) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  507  	    test_magic(lock_rwsem_ptr,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  508  		       offsetof(struct rw_semaphore, wait_lock.magic),
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  509  		       SPINLOCK_MAGIC))
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  510  		return -EINVAL;
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  511  #endif
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  512  #endif
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  513  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  514  	if ((wait_state != TASK_RUNNING ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  515  	     (call_cond_resched && !reacquire_locks) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  516  	     (alloc_pages_nr && gfpflags_allow_blocking(alloc_pages_gfp))) &&
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  517  	    (test_disable_irq || disable_softirq || disable_preempt ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  518  	     lock_rcu || lock_spinlock_ptr || lock_rwlock_ptr)) {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  519  		pr_err("refuse to sleep in atomic context\n");
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  520  		return -EINVAL;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  521  	}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  522  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  523  	if (lock_mmap_sem && !main_task->mm) {
c1e8d7c6a7a682 Michel Lespinasse         2020-06-08  524  		pr_err("no mm to lock mmap_lock\n");
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  525  		return -EINVAL;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  526  	}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  527  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  528  	if (test_file_path[0]) {
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  529  		test_file = filp_open(test_file_path, O_RDONLY, 0);
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  530  		if (IS_ERR(test_file)) {
3adf3bae0d6123 Tiezhu Yang               2020-08-11  531  			pr_err("failed to open %s: %ld\n", test_file_path, PTR_ERR(test_file));
3adf3bae0d6123 Tiezhu Yang               2020-08-11  532  			return PTR_ERR(test_file);
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  533  		}
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  534  		test_inode = file_inode(test_file);
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  535  	} else if (test_lock_inode ||
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  536  		   test_lock_mapping ||
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  537  		   test_lock_sb_umount) {
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  538  		pr_err("no file to lock\n");
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  539  		return -EINVAL;
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  540  	}
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  541  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  542  	if (test_lock_inode && test_inode)
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  543  		lock_rwsem_ptr = (unsigned long)&test_inode->i_rwsem;
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  544  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  545  	if (test_lock_mapping && test_file && test_file->f_mapping)
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  546  		lock_rwsem_ptr = (unsigned long)&test_file->f_mapping->i_mmap_rwsem;
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  547  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  548  	if (test_lock_sb_umount && test_inode)
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  549  		lock_rwsem_ptr = (unsigned long)&test_inode->i_sb->s_umount;
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  550  
ad3f434b87e7d2 Colin Ian King            2020-04-06  551  	pr_notice("START pid=%d time=%u +%u ns cooldown=%u +%u ns iterations=%u state=%s %s%s%s%s%s%s%s%s%s%s%s\n",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  552  		  main_task->pid, time_secs, time_nsecs,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  553  		  cooldown_secs, cooldown_nsecs, iterations, state,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  554  		  all_cpus ? "all_cpus " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  555  		  iowait ? "iowait " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  556  		  test_disable_irq ? "disable_irq " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  557  		  disable_softirq ? "disable_softirq " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  558  		  disable_preempt ? "disable_preempt " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  559  		  lock_rcu ? "lock_rcu " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  560  		  lock_read ? "lock_read " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  561  		  touch_softlockup ? "touch_softlockup " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  562  		  touch_hardlockup ? "touch_hardlockup " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  563  		  call_cond_resched ? "call_cond_resched " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  564  		  reacquire_locks ? "reacquire_locks " : "");
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  565  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  566  	if (alloc_pages_nr)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  567  		pr_notice("ALLOCATE PAGES nr=%u order=%u gfp=%pGg %s\n",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  568  			  alloc_pages_nr, alloc_pages_order, &alloc_pages_gfp,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  569  			  reallocate_pages ? "reallocate_pages " : "");
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  570  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  571  	if (all_cpus) {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  572  		unsigned int cpu;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  573  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  574  		cpus_read_lock();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  575  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  576  		preempt_disable();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  577  		master_cpu = smp_processor_id();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  578  		for_each_online_cpu(cpu) {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  579  			INIT_WORK(per_cpu_ptr(&test_works, cpu), test_work_fn);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  580  			queue_work_on(cpu, system_highpri_wq,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  581  				      per_cpu_ptr(&test_works, cpu));
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  582  		}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  583  		preempt_enable();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  584  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  585  		for_each_online_cpu(cpu)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  586  			flush_work(per_cpu_ptr(&test_works, cpu));
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  587  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  588  		cpus_read_unlock();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  589  	} else {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  590  		test_lockup(true);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  591  	}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  592  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  593  	if (measure_lock_wait)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  594  		pr_notice("Maximum lock wait: %lld ns\n",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  595  			  atomic64_read(&max_lock_wait));
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  596  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  597  	if (alloc_pages_nr)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  598  		pr_notice("Page allocation failed %u times\n",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  599  			  atomic_read(&alloc_pages_failed));
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  600  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  601  	pr_notice("FINISH in %llu ns\n", local_clock() - test_start);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  602  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  603  	if (test_file)
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  604  		fput(test_file);
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  605  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  606  	if (signal_pending(main_task))
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  607  		return -EINTR;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  608  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  609  	return -EAGAIN;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  610  }
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  611  module_init(test_lockup_init);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  612  

:::::: The code at line 505 was first introduced by commit
:::::: 30428ef5d1e8caf78639cc70a802f1cb7b1cec04 lib/test_lockup: test module to generate lockups

:::::: TO: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30474 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [peterz-queue:locking/ww_rt_mutex 4/18] lib/test_lockup.c:505:43: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'rlock'; did you mean 'raw_lock'?
@ 2021-07-30 19:16 ` kernel test robot
  0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2021-07-30 19:16 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: kbuild-all, linux-kernel, Peter Zijlstra

[-- Attachment #1: Type: text/plain, Size: 16410 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git locking/ww_rt_mutex
head:   513277f3c78127286fd37a34f616801bdcc3aa60
commit: 6b1fb4c05b188aedc0ef03087d0f48a912aa2761 [4/18] locking/mutex: Make mutex::wait_lock raw
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?id=6b1fb4c05b188aedc0ef03087d0f48a912aa2761
        git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
        git fetch --no-tags peterz-queue locking/ww_rt_mutex
        git checkout 6b1fb4c05b188aedc0ef03087d0f48a912aa2761
        # save the attached .config to linux build tree
        mkdir build_dir
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/gpu/drm/i915/ lib/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   In file included from <command-line>:
   lib/test_lockup.c: In function 'test_lockup_init':
>> lib/test_lockup.c:505:43: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'rlock'; did you mean 'raw_lock'?
     505 |          offsetof(struct mutex, wait_lock.rlock.magic),
         |                                           ^~~~~
   include/linux/compiler_types.h:140:57: note: in definition of macro '__compiler_offsetof'
     140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
         |                                                         ^
   lib/test_lockup.c:505:10: note: in expansion of macro 'offsetof'
     505 |          offsetof(struct mutex, wait_lock.rlock.magic),
         |          ^~~~~~~~


vim +505 lib/test_lockup.c

30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  448  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  449  static int __init test_lockup_init(void)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  450  {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  451  	u64 test_start = local_clock();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  452  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  453  	main_task = current;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  454  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  455  	switch (state[0]) {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  456  	case 'S':
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  457  		wait_state = TASK_INTERRUPTIBLE;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  458  		break;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  459  	case 'D':
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  460  		wait_state = TASK_UNINTERRUPTIBLE;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  461  		break;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  462  	case 'K':
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  463  		wait_state = TASK_KILLABLE;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  464  		break;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  465  	case 'R':
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  466  		wait_state = TASK_RUNNING;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  467  		break;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  468  	default:
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  469  		pr_err("unknown state=%s\n", state);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  470  		return -EINVAL;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  471  	}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  472  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  473  	if (alloc_pages_atomic)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  474  		alloc_pages_gfp = GFP_ATOMIC;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  475  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  476  	if (test_kernel_ptr(lock_spinlock_ptr, sizeof(spinlock_t)) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  477  	    test_kernel_ptr(lock_rwlock_ptr, sizeof(rwlock_t)) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  478  	    test_kernel_ptr(lock_mutex_ptr, sizeof(struct mutex)) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  479  	    test_kernel_ptr(lock_rwsem_ptr, sizeof(struct rw_semaphore)))
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  480  		return -EINVAL;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  481  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  482  #ifdef CONFIG_DEBUG_SPINLOCK
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  483  #ifdef CONFIG_PREEMPT_RT
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  484  	if (test_magic(lock_spinlock_ptr,
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  485  		       offsetof(spinlock_t, lock.wait_lock.magic),
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  486  		       SPINLOCK_MAGIC) ||
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  487  	    test_magic(lock_rwlock_ptr,
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  488  		       offsetof(rwlock_t, rtmutex.wait_lock.magic),
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  489  		       SPINLOCK_MAGIC) ||
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  490  	    test_magic(lock_mutex_ptr,
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  491  		       offsetof(struct mutex, lock.wait_lock.magic),
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  492  		       SPINLOCK_MAGIC) ||
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  493  	    test_magic(lock_rwsem_ptr,
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  494  		       offsetof(struct rw_semaphore, rtmutex.wait_lock.magic),
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  495  		       SPINLOCK_MAGIC))
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  496  		return -EINVAL;
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  497  #else
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  498  	if (test_magic(lock_spinlock_ptr,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  499  		       offsetof(spinlock_t, rlock.magic),
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  500  		       SPINLOCK_MAGIC) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  501  	    test_magic(lock_rwlock_ptr,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  502  		       offsetof(rwlock_t, magic),
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  503  		       RWLOCK_MAGIC) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  504  	    test_magic(lock_mutex_ptr,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06 @505  		       offsetof(struct mutex, wait_lock.rlock.magic),
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  506  		       SPINLOCK_MAGIC) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  507  	    test_magic(lock_rwsem_ptr,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  508  		       offsetof(struct rw_semaphore, wait_lock.magic),
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  509  		       SPINLOCK_MAGIC))
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  510  		return -EINVAL;
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  511  #endif
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  512  #endif
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  513  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  514  	if ((wait_state != TASK_RUNNING ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  515  	     (call_cond_resched && !reacquire_locks) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  516  	     (alloc_pages_nr && gfpflags_allow_blocking(alloc_pages_gfp))) &&
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  517  	    (test_disable_irq || disable_softirq || disable_preempt ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  518  	     lock_rcu || lock_spinlock_ptr || lock_rwlock_ptr)) {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  519  		pr_err("refuse to sleep in atomic context\n");
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  520  		return -EINVAL;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  521  	}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  522  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  523  	if (lock_mmap_sem && !main_task->mm) {
c1e8d7c6a7a682 Michel Lespinasse         2020-06-08  524  		pr_err("no mm to lock mmap_lock\n");
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  525  		return -EINVAL;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  526  	}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  527  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  528  	if (test_file_path[0]) {
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  529  		test_file = filp_open(test_file_path, O_RDONLY, 0);
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  530  		if (IS_ERR(test_file)) {
3adf3bae0d6123 Tiezhu Yang               2020-08-11  531  			pr_err("failed to open %s: %ld\n", test_file_path, PTR_ERR(test_file));
3adf3bae0d6123 Tiezhu Yang               2020-08-11  532  			return PTR_ERR(test_file);
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  533  		}
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  534  		test_inode = file_inode(test_file);
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  535  	} else if (test_lock_inode ||
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  536  		   test_lock_mapping ||
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  537  		   test_lock_sb_umount) {
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  538  		pr_err("no file to lock\n");
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  539  		return -EINVAL;
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  540  	}
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  541  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  542  	if (test_lock_inode && test_inode)
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  543  		lock_rwsem_ptr = (unsigned long)&test_inode->i_rwsem;
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  544  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  545  	if (test_lock_mapping && test_file && test_file->f_mapping)
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  546  		lock_rwsem_ptr = (unsigned long)&test_file->f_mapping->i_mmap_rwsem;
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  547  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  548  	if (test_lock_sb_umount && test_inode)
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  549  		lock_rwsem_ptr = (unsigned long)&test_inode->i_sb->s_umount;
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  550  
ad3f434b87e7d2 Colin Ian King            2020-04-06  551  	pr_notice("START pid=%d time=%u +%u ns cooldown=%u +%u ns iterations=%u state=%s %s%s%s%s%s%s%s%s%s%s%s\n",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  552  		  main_task->pid, time_secs, time_nsecs,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  553  		  cooldown_secs, cooldown_nsecs, iterations, state,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  554  		  all_cpus ? "all_cpus " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  555  		  iowait ? "iowait " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  556  		  test_disable_irq ? "disable_irq " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  557  		  disable_softirq ? "disable_softirq " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  558  		  disable_preempt ? "disable_preempt " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  559  		  lock_rcu ? "lock_rcu " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  560  		  lock_read ? "lock_read " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  561  		  touch_softlockup ? "touch_softlockup " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  562  		  touch_hardlockup ? "touch_hardlockup " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  563  		  call_cond_resched ? "call_cond_resched " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  564  		  reacquire_locks ? "reacquire_locks " : "");
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  565  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  566  	if (alloc_pages_nr)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  567  		pr_notice("ALLOCATE PAGES nr=%u order=%u gfp=%pGg %s\n",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  568  			  alloc_pages_nr, alloc_pages_order, &alloc_pages_gfp,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  569  			  reallocate_pages ? "reallocate_pages " : "");
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  570  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  571  	if (all_cpus) {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  572  		unsigned int cpu;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  573  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  574  		cpus_read_lock();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  575  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  576  		preempt_disable();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  577  		master_cpu = smp_processor_id();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  578  		for_each_online_cpu(cpu) {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  579  			INIT_WORK(per_cpu_ptr(&test_works, cpu), test_work_fn);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  580  			queue_work_on(cpu, system_highpri_wq,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  581  				      per_cpu_ptr(&test_works, cpu));
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  582  		}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  583  		preempt_enable();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  584  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  585  		for_each_online_cpu(cpu)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  586  			flush_work(per_cpu_ptr(&test_works, cpu));
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  587  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  588  		cpus_read_unlock();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  589  	} else {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  590  		test_lockup(true);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  591  	}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  592  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  593  	if (measure_lock_wait)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  594  		pr_notice("Maximum lock wait: %lld ns\n",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  595  			  atomic64_read(&max_lock_wait));
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  596  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  597  	if (alloc_pages_nr)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  598  		pr_notice("Page allocation failed %u times\n",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  599  			  atomic_read(&alloc_pages_failed));
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  600  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  601  	pr_notice("FINISH in %llu ns\n", local_clock() - test_start);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  602  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  603  	if (test_file)
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  604  		fput(test_file);
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  605  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  606  	if (signal_pending(main_task))
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  607  		return -EINTR;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  608  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  609  	return -EAGAIN;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  610  }
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  611  module_init(test_lockup_init);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  612  

:::::: The code at line 505 was first introduced by commit
:::::: 30428ef5d1e8caf78639cc70a802f1cb7b1cec04 lib/test_lockup: test module to generate lockups

:::::: TO: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 65627 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [peterz-queue:locking/ww_rt_mutex 4/18] lib/test_lockup.c:505:43: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'rlock'; did you mean 'raw_lock'?
@ 2021-07-30 19:16 ` kernel test robot
  0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2021-07-30 19:16 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 16621 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git locking/ww_rt_mutex
head:   513277f3c78127286fd37a34f616801bdcc3aa60
commit: 6b1fb4c05b188aedc0ef03087d0f48a912aa2761 [4/18] locking/mutex: Make mutex::wait_lock raw
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?id=6b1fb4c05b188aedc0ef03087d0f48a912aa2761
        git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
        git fetch --no-tags peterz-queue locking/ww_rt_mutex
        git checkout 6b1fb4c05b188aedc0ef03087d0f48a912aa2761
        # save the attached .config to linux build tree
        mkdir build_dir
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/gpu/drm/i915/ lib/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   In file included from <command-line>:
   lib/test_lockup.c: In function 'test_lockup_init':
>> lib/test_lockup.c:505:43: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'rlock'; did you mean 'raw_lock'?
     505 |          offsetof(struct mutex, wait_lock.rlock.magic),
         |                                           ^~~~~
   include/linux/compiler_types.h:140:57: note: in definition of macro '__compiler_offsetof'
     140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
         |                                                         ^
   lib/test_lockup.c:505:10: note: in expansion of macro 'offsetof'
     505 |          offsetof(struct mutex, wait_lock.rlock.magic),
         |          ^~~~~~~~


vim +505 lib/test_lockup.c

30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  448  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  449  static int __init test_lockup_init(void)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  450  {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  451  	u64 test_start = local_clock();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  452  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  453  	main_task = current;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  454  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  455  	switch (state[0]) {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  456  	case 'S':
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  457  		wait_state = TASK_INTERRUPTIBLE;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  458  		break;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  459  	case 'D':
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  460  		wait_state = TASK_UNINTERRUPTIBLE;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  461  		break;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  462  	case 'K':
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  463  		wait_state = TASK_KILLABLE;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  464  		break;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  465  	case 'R':
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  466  		wait_state = TASK_RUNNING;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  467  		break;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  468  	default:
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  469  		pr_err("unknown state=%s\n", state);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  470  		return -EINVAL;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  471  	}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  472  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  473  	if (alloc_pages_atomic)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  474  		alloc_pages_gfp = GFP_ATOMIC;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  475  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  476  	if (test_kernel_ptr(lock_spinlock_ptr, sizeof(spinlock_t)) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  477  	    test_kernel_ptr(lock_rwlock_ptr, sizeof(rwlock_t)) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  478  	    test_kernel_ptr(lock_mutex_ptr, sizeof(struct mutex)) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  479  	    test_kernel_ptr(lock_rwsem_ptr, sizeof(struct rw_semaphore)))
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  480  		return -EINVAL;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  481  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  482  #ifdef CONFIG_DEBUG_SPINLOCK
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  483  #ifdef CONFIG_PREEMPT_RT
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  484  	if (test_magic(lock_spinlock_ptr,
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  485  		       offsetof(spinlock_t, lock.wait_lock.magic),
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  486  		       SPINLOCK_MAGIC) ||
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  487  	    test_magic(lock_rwlock_ptr,
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  488  		       offsetof(rwlock_t, rtmutex.wait_lock.magic),
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  489  		       SPINLOCK_MAGIC) ||
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  490  	    test_magic(lock_mutex_ptr,
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  491  		       offsetof(struct mutex, lock.wait_lock.magic),
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  492  		       SPINLOCK_MAGIC) ||
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  493  	    test_magic(lock_rwsem_ptr,
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  494  		       offsetof(struct rw_semaphore, rtmutex.wait_lock.magic),
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  495  		       SPINLOCK_MAGIC))
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  496  		return -EINVAL;
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  497  #else
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  498  	if (test_magic(lock_spinlock_ptr,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  499  		       offsetof(spinlock_t, rlock.magic),
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  500  		       SPINLOCK_MAGIC) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  501  	    test_magic(lock_rwlock_ptr,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  502  		       offsetof(rwlock_t, magic),
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  503  		       RWLOCK_MAGIC) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  504  	    test_magic(lock_mutex_ptr,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06 @505  		       offsetof(struct mutex, wait_lock.rlock.magic),
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  506  		       SPINLOCK_MAGIC) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  507  	    test_magic(lock_rwsem_ptr,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  508  		       offsetof(struct rw_semaphore, wait_lock.magic),
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  509  		       SPINLOCK_MAGIC))
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  510  		return -EINVAL;
45e3d5a2af1d53 Sebastian Andrzej Siewior 2020-12-15  511  #endif
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  512  #endif
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  513  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  514  	if ((wait_state != TASK_RUNNING ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  515  	     (call_cond_resched && !reacquire_locks) ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  516  	     (alloc_pages_nr && gfpflags_allow_blocking(alloc_pages_gfp))) &&
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  517  	    (test_disable_irq || disable_softirq || disable_preempt ||
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  518  	     lock_rcu || lock_spinlock_ptr || lock_rwlock_ptr)) {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  519  		pr_err("refuse to sleep in atomic context\n");
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  520  		return -EINVAL;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  521  	}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  522  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  523  	if (lock_mmap_sem && !main_task->mm) {
c1e8d7c6a7a682 Michel Lespinasse         2020-06-08  524  		pr_err("no mm to lock mmap_lock\n");
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  525  		return -EINVAL;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  526  	}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  527  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  528  	if (test_file_path[0]) {
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  529  		test_file = filp_open(test_file_path, O_RDONLY, 0);
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  530  		if (IS_ERR(test_file)) {
3adf3bae0d6123 Tiezhu Yang               2020-08-11  531  			pr_err("failed to open %s: %ld\n", test_file_path, PTR_ERR(test_file));
3adf3bae0d6123 Tiezhu Yang               2020-08-11  532  			return PTR_ERR(test_file);
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  533  		}
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  534  		test_inode = file_inode(test_file);
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  535  	} else if (test_lock_inode ||
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  536  		   test_lock_mapping ||
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  537  		   test_lock_sb_umount) {
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  538  		pr_err("no file to lock\n");
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  539  		return -EINVAL;
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  540  	}
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  541  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  542  	if (test_lock_inode && test_inode)
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  543  		lock_rwsem_ptr = (unsigned long)&test_inode->i_rwsem;
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  544  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  545  	if (test_lock_mapping && test_file && test_file->f_mapping)
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  546  		lock_rwsem_ptr = (unsigned long)&test_file->f_mapping->i_mmap_rwsem;
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  547  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  548  	if (test_lock_sb_umount && test_inode)
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  549  		lock_rwsem_ptr = (unsigned long)&test_inode->i_sb->s_umount;
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  550  
ad3f434b87e7d2 Colin Ian King            2020-04-06  551  	pr_notice("START pid=%d time=%u +%u ns cooldown=%u +%u ns iterations=%u state=%s %s%s%s%s%s%s%s%s%s%s%s\n",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  552  		  main_task->pid, time_secs, time_nsecs,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  553  		  cooldown_secs, cooldown_nsecs, iterations, state,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  554  		  all_cpus ? "all_cpus " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  555  		  iowait ? "iowait " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  556  		  test_disable_irq ? "disable_irq " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  557  		  disable_softirq ? "disable_softirq " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  558  		  disable_preempt ? "disable_preempt " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  559  		  lock_rcu ? "lock_rcu " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  560  		  lock_read ? "lock_read " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  561  		  touch_softlockup ? "touch_softlockup " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  562  		  touch_hardlockup ? "touch_hardlockup " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  563  		  call_cond_resched ? "call_cond_resched " : "",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  564  		  reacquire_locks ? "reacquire_locks " : "");
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  565  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  566  	if (alloc_pages_nr)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  567  		pr_notice("ALLOCATE PAGES nr=%u order=%u gfp=%pGg %s\n",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  568  			  alloc_pages_nr, alloc_pages_order, &alloc_pages_gfp,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  569  			  reallocate_pages ? "reallocate_pages " : "");
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  570  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  571  	if (all_cpus) {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  572  		unsigned int cpu;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  573  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  574  		cpus_read_lock();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  575  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  576  		preempt_disable();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  577  		master_cpu = smp_processor_id();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  578  		for_each_online_cpu(cpu) {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  579  			INIT_WORK(per_cpu_ptr(&test_works, cpu), test_work_fn);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  580  			queue_work_on(cpu, system_highpri_wq,
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  581  				      per_cpu_ptr(&test_works, cpu));
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  582  		}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  583  		preempt_enable();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  584  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  585  		for_each_online_cpu(cpu)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  586  			flush_work(per_cpu_ptr(&test_works, cpu));
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  587  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  588  		cpus_read_unlock();
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  589  	} else {
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  590  		test_lockup(true);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  591  	}
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  592  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  593  	if (measure_lock_wait)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  594  		pr_notice("Maximum lock wait: %lld ns\n",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  595  			  atomic64_read(&max_lock_wait));
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  596  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  597  	if (alloc_pages_nr)
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  598  		pr_notice("Page allocation failed %u times\n",
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  599  			  atomic_read(&alloc_pages_failed));
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  600  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  601  	pr_notice("FINISH in %llu ns\n", local_clock() - test_start);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  602  
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  603  	if (test_file)
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  604  		fput(test_file);
aecd42df6d3993 Konstantin Khlebnikov     2020-04-06  605  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  606  	if (signal_pending(main_task))
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  607  		return -EINTR;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  608  
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  609  	return -EAGAIN;
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  610  }
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  611  module_init(test_lockup_init);
30428ef5d1e8ca Konstantin Khlebnikov     2020-04-06  612  

:::::: The code at line 505 was first introduced by commit
:::::: 30428ef5d1e8caf78639cc70a802f1cb7b1cec04 lib/test_lockup: test module to generate lockups

:::::: TO: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 65627 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-07-30 19:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-30 19:16 [peterz-queue:locking/ww_rt_mutex 4/18] lib/test_lockup.c:505:43: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'rlock'; did you mean 'raw_lock'? kernel test robot
2021-07-30 19:16 ` kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2021-07-19  1:21 kernel test robot
2021-07-19  1:21 ` kernel test robot

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.