Lines Matching refs:cxt
163 static struct lock_torture_cxt cxt = { 0, 0, false, false, variable
178 if (long_hold && !(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * long_hold))) in torture_lock_busted_write_delay()
180 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_lock_busted_write_delay()
200 (cxt.nrealwriters_stress * factor))) { in __torture_rt_boost()
214 (cxt.nrealwriters_stress * factor * 2))) { in __torture_rt_boost()
257 if (long_hold && !(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * long_hold))) { in torture_spin_lock_write_delay()
262 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 200 * shortdelay_us))) in torture_spin_lock_write_delay()
264 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_spin_lock_write_delay()
291 cxt.cur_ops->flags = flags; in torture_spin_lock_write_lock_irq()
298 spin_unlock_irqrestore(&torture_spinlock, cxt.cur_ops->flags); in torture_lock_spin_write_unlock_irq()
344 cxt.cur_ops->flags = flags; in torture_raw_spin_lock_write_lock_irq()
351 raw_spin_unlock_irqrestore(&torture_raw_spinlock, cxt.cur_ops->flags); in torture_raw_spin_lock_write_unlock_irq()
381 if (long_hold && !(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * long_hold))) in torture_rwlock_write_delay()
407 if (long_hold && !(torture_random(trsp) % (cxt.nrealreaders_stress * 2000 * long_hold))) in torture_rwlock_read_delay()
436 cxt.cur_ops->flags = flags; in torture_rwlock_write_lock_irq()
443 write_unlock_irqrestore(&torture_rwlock, cxt.cur_ops->flags); in torture_rwlock_write_unlock_irq()
452 cxt.cur_ops->flags = flags; in torture_rwlock_read_lock_irq()
459 read_unlock_irqrestore(&torture_rwlock, cxt.cur_ops->flags); in torture_rwlock_read_unlock_irq()
507 if (long_hold && !(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * long_hold))) in torture_mutex_delay()
509 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_mutex_delay()
559 ww_acquire_ctxs = kmalloc_array(cxt.nrealwriters_stress, in torture_ww_mutex_init()
681 if (long_hold && !(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * long_hold))) in torture_rtmutex_delay()
684 (cxt.nrealwriters_stress * 200 * shortdelay_us))) in torture_rtmutex_delay()
686 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_rtmutex_delay()
740 if (long_hold && !(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * long_hold))) in torture_rwsem_write_delay()
742 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_rwsem_write_delay()
762 if (long_hold && !(torture_random(trsp) % (cxt.nrealreaders_stress * 2000 * long_hold))) in torture_rwsem_read_delay()
766 if (!(torture_random(trsp) % (cxt.nrealreaders_stress * 20000))) in torture_rwsem_read_delay()
851 int tid = lwsp - cxt.lwsa; in lock_torture_writer()
873 cxt.cur_ops->task_boost(&rand); in lock_torture_writer()
874 if (cxt.cur_ops->nested_lock) in lock_torture_writer()
875 cxt.cur_ops->nested_lock(tid, lockset_mask); in lock_torture_writer()
880 cxt.cur_ops->writelock(tid); in lock_torture_writer()
894 cxt.cur_ops->write_delay(&rand); in lock_torture_writer()
898 cxt.cur_ops->writeunlock(tid); in lock_torture_writer()
900 if (cxt.cur_ops->nested_unlock) in lock_torture_writer()
901 cxt.cur_ops->nested_unlock(tid, lockset_mask); in lock_torture_writer()
906 cxt.cur_ops->task_boost(NULL); /* reset prio */ in lock_torture_writer()
918 int tid = lrsp - cxt.lrsa; in lock_torture_reader()
928 cxt.cur_ops->readlock(tid); in lock_torture_reader()
934 cxt.cur_ops->read_delay(&rand); in lock_torture_reader()
936 cxt.cur_ops->readunlock(tid); in lock_torture_reader()
956 n_stress = write ? cxt.nrealwriters_stress : cxt.nrealreaders_stress; in __torture_print_stats()
974 atomic_inc(&cxt.n_lock_torture_errors); in __torture_print_stats()
987 int size = cxt.nrealwriters_stress * 200 + 8192; in lock_torture_stats_print()
990 if (cxt.cur_ops->readlock) in lock_torture_stats_print()
991 size += cxt.nrealreaders_stress * 200 + 8192; in lock_torture_stats_print()
1000 __torture_print_stats(buf, cxt.lwsa, true); in lock_torture_stats_print()
1004 if (cxt.cur_ops->readlock) { in lock_torture_stats_print()
1012 __torture_print_stats(buf, cxt.lrsa, false); in lock_torture_stats_print()
1049 torture_type, tag, cxt.debug_lock ? " [debug]": "", in lock_torture_print_module_parms()
1051 call_rcu_chains, long_hold, nested_locks, cxt.nrealreaders_stress, in lock_torture_print_module_parms()
1052 cxt.nrealwriters_stress, onoff_holdoff, onoff_interval, rt_boost, in lock_torture_print_module_parms()
1116 if (!cxt.lwsa && !cxt.lrsa) in lock_torture_cleanup()
1120 for (i = 0; i < cxt.nrealwriters_stress; i++) in lock_torture_cleanup()
1127 for (i = 0; i < cxt.nrealreaders_stress; i++) in lock_torture_cleanup()
1137 if (atomic_read(&cxt.n_lock_torture_errors)) in lock_torture_cleanup()
1138 lock_torture_print_module_parms(cxt.cur_ops, in lock_torture_cleanup()
1141 lock_torture_print_module_parms(cxt.cur_ops, in lock_torture_cleanup()
1144 lock_torture_print_module_parms(cxt.cur_ops, in lock_torture_cleanup()
1147 kfree(cxt.lwsa); in lock_torture_cleanup()
1148 cxt.lwsa = NULL; in lock_torture_cleanup()
1149 kfree(cxt.lrsa); in lock_torture_cleanup()
1150 cxt.lrsa = NULL; in lock_torture_cleanup()
1155 if (cxt.init_called) { in lock_torture_cleanup()
1156 if (cxt.cur_ops->exit) in lock_torture_cleanup()
1157 cxt.cur_ops->exit(); in lock_torture_cleanup()
1158 cxt.init_called = false; in lock_torture_cleanup()
1186 cxt.cur_ops = torture_ops[i]; in lock_torture_init()
1187 if (strcmp(torture_type, cxt.cur_ops->name) == 0) in lock_torture_init()
1202 (!cxt.cur_ops->readlock || nreaders_stress == 0)) { in lock_torture_init()
1209 cxt.nrealwriters_stress = nwriters_stress; in lock_torture_init()
1211 cxt.nrealwriters_stress = 2 * num_online_cpus(); in lock_torture_init()
1213 if (cxt.cur_ops->init) { in lock_torture_init()
1214 cxt.cur_ops->init(); in lock_torture_init()
1215 cxt.init_called = true; in lock_torture_init()
1220 cxt.debug_lock = true; in lock_torture_init()
1224 cxt.debug_lock = true; in lock_torture_init()
1229 cxt.debug_lock = true; in lock_torture_init()
1235 cxt.lwsa = kmalloc_array(cxt.nrealwriters_stress, in lock_torture_init()
1236 sizeof(*cxt.lwsa), in lock_torture_init()
1238 if (cxt.lwsa == NULL) { in lock_torture_init()
1244 for (i = 0; i < cxt.nrealwriters_stress; i++) { in lock_torture_init()
1245 cxt.lwsa[i].n_lock_fail = 0; in lock_torture_init()
1246 cxt.lwsa[i].n_lock_acquired = 0; in lock_torture_init()
1250 if (cxt.cur_ops->readlock) { in lock_torture_init()
1252 cxt.nrealreaders_stress = nreaders_stress; in lock_torture_init()
1260 cxt.nrealwriters_stress = num_online_cpus(); in lock_torture_init()
1261 cxt.nrealreaders_stress = cxt.nrealwriters_stress; in lock_torture_init()
1265 cxt.lrsa = kmalloc_array(cxt.nrealreaders_stress, in lock_torture_init()
1266 sizeof(*cxt.lrsa), in lock_torture_init()
1268 if (cxt.lrsa == NULL) { in lock_torture_init()
1271 kfree(cxt.lwsa); in lock_torture_init()
1272 cxt.lwsa = NULL; in lock_torture_init()
1276 for (i = 0; i < cxt.nrealreaders_stress; i++) { in lock_torture_init()
1277 cxt.lrsa[i].n_lock_fail = 0; in lock_torture_init()
1278 cxt.lrsa[i].n_lock_acquired = 0; in lock_torture_init()
1287 lock_torture_print_module_parms(cxt.cur_ops, "Start of test"); in lock_torture_init()
1314 writer_tasks = kcalloc(cxt.nrealwriters_stress, in lock_torture_init()
1328 if (cxt.cur_ops->readlock) { in lock_torture_init()
1329 reader_tasks = kcalloc(cxt.nrealreaders_stress, in lock_torture_init()
1349 for (i = 0, j = 0; i < cxt.nrealwriters_stress || in lock_torture_init()
1350 j < cxt.nrealreaders_stress; i++, j++) { in lock_torture_init()
1351 if (i >= cxt.nrealwriters_stress) in lock_torture_init()
1355 firsterr = torture_create_kthread_cb(lock_torture_writer, &cxt.lwsa[i], in lock_torture_init()
1364 if (cxt.cur_ops->readlock == NULL || (j >= cxt.nrealreaders_stress)) in lock_torture_init()
1367 firsterr = torture_create_kthread(lock_torture_reader, &cxt.lrsa[j], in lock_torture_init()