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()
397 cxt.cur_ops->flags = flags; in torture_raw_res_spin_write_lock_irq()
403 raw_res_spin_unlock_irqrestore(&rqspinlock, cxt.cur_ops->flags); in torture_raw_res_spin_write_unlock_irq()
435 if (long_hold && !(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * long_hold))) in torture_rwlock_write_delay()
461 if (long_hold && !(torture_random(trsp) % (cxt.nrealreaders_stress * 2000 * long_hold))) in torture_rwlock_read_delay()
490 cxt.cur_ops->flags = flags; in torture_rwlock_write_lock_irq()
497 write_unlock_irqrestore(&torture_rwlock, cxt.cur_ops->flags); in torture_rwlock_write_unlock_irq()
506 cxt.cur_ops->flags = flags; in torture_rwlock_read_lock_irq()
513 read_unlock_irqrestore(&torture_rwlock, cxt.cur_ops->flags); in torture_rwlock_read_unlock_irq()
561 if (long_hold && !(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * long_hold))) in torture_mutex_delay()
563 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_mutex_delay()
613 ww_acquire_ctxs = kmalloc_array(cxt.nrealwriters_stress, in torture_ww_mutex_init()
735 if (long_hold && !(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * long_hold))) in torture_rtmutex_delay()
738 (cxt.nrealwriters_stress * 200 * shortdelay_us))) in torture_rtmutex_delay()
740 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_rtmutex_delay()
794 if (long_hold && !(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * long_hold))) in torture_rwsem_write_delay()
796 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_rwsem_write_delay()
816 if (long_hold && !(torture_random(trsp) % (cxt.nrealreaders_stress * 2000 * long_hold))) in torture_rwsem_read_delay()
820 if (!(torture_random(trsp) % (cxt.nrealreaders_stress * 20000))) in torture_rwsem_read_delay()
905 int tid = lwsp - cxt.lwsa; in lock_torture_writer()
927 cxt.cur_ops->task_boost(&rand); in lock_torture_writer()
928 if (cxt.cur_ops->nested_lock) in lock_torture_writer()
929 cxt.cur_ops->nested_lock(tid, lockset_mask); in lock_torture_writer()
934 cxt.cur_ops->writelock(tid); in lock_torture_writer()
948 cxt.cur_ops->write_delay(&rand); in lock_torture_writer()
952 cxt.cur_ops->writeunlock(tid); in lock_torture_writer()
954 if (cxt.cur_ops->nested_unlock) in lock_torture_writer()
955 cxt.cur_ops->nested_unlock(tid, lockset_mask); in lock_torture_writer()
960 cxt.cur_ops->task_boost(NULL); /* reset prio */ in lock_torture_writer()
972 int tid = lrsp - cxt.lrsa; in lock_torture_reader()
982 cxt.cur_ops->readlock(tid); in lock_torture_reader()
988 cxt.cur_ops->read_delay(&rand); in lock_torture_reader()
990 cxt.cur_ops->readunlock(tid); in lock_torture_reader()
1010 n_stress = write ? cxt.nrealwriters_stress : cxt.nrealreaders_stress; in __torture_print_stats()
1028 atomic_inc(&cxt.n_lock_torture_errors); in __torture_print_stats()
1041 int size = cxt.nrealwriters_stress * 200 + 8192; in lock_torture_stats_print()
1044 if (cxt.cur_ops->readlock) in lock_torture_stats_print()
1045 size += cxt.nrealreaders_stress * 200 + 8192; in lock_torture_stats_print()
1054 __torture_print_stats(buf, cxt.lwsa, true); in lock_torture_stats_print()
1058 if (cxt.cur_ops->readlock) { in lock_torture_stats_print()
1066 __torture_print_stats(buf, cxt.lrsa, false); in lock_torture_stats_print()
1103 torture_type, tag, cxt.debug_lock ? " [debug]": "", in lock_torture_print_module_parms()
1105 call_rcu_chains, long_hold, nested_locks, cxt.nrealreaders_stress, in lock_torture_print_module_parms()
1106 cxt.nrealwriters_stress, onoff_holdoff, onoff_interval, rt_boost, in lock_torture_print_module_parms()
1170 if (!cxt.lwsa && !cxt.lrsa) in lock_torture_cleanup()
1174 for (i = 0; i < cxt.nrealwriters_stress; i++) in lock_torture_cleanup()
1181 for (i = 0; i < cxt.nrealreaders_stress; i++) in lock_torture_cleanup()
1191 if (atomic_read(&cxt.n_lock_torture_errors)) in lock_torture_cleanup()
1192 lock_torture_print_module_parms(cxt.cur_ops, in lock_torture_cleanup()
1195 lock_torture_print_module_parms(cxt.cur_ops, in lock_torture_cleanup()
1198 lock_torture_print_module_parms(cxt.cur_ops, in lock_torture_cleanup()
1201 kfree(cxt.lwsa); in lock_torture_cleanup()
1202 cxt.lwsa = NULL; in lock_torture_cleanup()
1203 kfree(cxt.lrsa); in lock_torture_cleanup()
1204 cxt.lrsa = NULL; in lock_torture_cleanup()
1209 if (cxt.init_called) { in lock_torture_cleanup()
1210 if (cxt.cur_ops->exit) in lock_torture_cleanup()
1211 cxt.cur_ops->exit(); in lock_torture_cleanup()
1212 cxt.init_called = false; in lock_torture_cleanup()
1243 cxt.cur_ops = torture_ops[i]; in lock_torture_init()
1244 if (strcmp(torture_type, cxt.cur_ops->name) == 0) in lock_torture_init()
1259 (!cxt.cur_ops->readlock || nreaders_stress == 0)) { in lock_torture_init()
1266 cxt.nrealwriters_stress = nwriters_stress; in lock_torture_init()
1268 cxt.nrealwriters_stress = 2 * num_online_cpus(); in lock_torture_init()
1270 if (cxt.cur_ops->init) { in lock_torture_init()
1271 cxt.cur_ops->init(); in lock_torture_init()
1272 cxt.init_called = true; in lock_torture_init()
1277 cxt.debug_lock = true; in lock_torture_init()
1281 cxt.debug_lock = true; in lock_torture_init()
1286 cxt.debug_lock = true; in lock_torture_init()
1292 cxt.lwsa = kmalloc_array(cxt.nrealwriters_stress, in lock_torture_init()
1293 sizeof(*cxt.lwsa), in lock_torture_init()
1295 if (cxt.lwsa == NULL) { in lock_torture_init()
1301 for (i = 0; i < cxt.nrealwriters_stress; i++) { in lock_torture_init()
1302 cxt.lwsa[i].n_lock_fail = 0; in lock_torture_init()
1303 cxt.lwsa[i].n_lock_acquired = 0; in lock_torture_init()
1307 if (cxt.cur_ops->readlock) { in lock_torture_init()
1309 cxt.nrealreaders_stress = nreaders_stress; in lock_torture_init()
1317 cxt.nrealwriters_stress = num_online_cpus(); in lock_torture_init()
1318 cxt.nrealreaders_stress = cxt.nrealwriters_stress; in lock_torture_init()
1322 cxt.lrsa = kmalloc_array(cxt.nrealreaders_stress, in lock_torture_init()
1323 sizeof(*cxt.lrsa), in lock_torture_init()
1325 if (cxt.lrsa == NULL) { in lock_torture_init()
1328 kfree(cxt.lwsa); in lock_torture_init()
1329 cxt.lwsa = NULL; in lock_torture_init()
1333 for (i = 0; i < cxt.nrealreaders_stress; i++) { in lock_torture_init()
1334 cxt.lrsa[i].n_lock_fail = 0; in lock_torture_init()
1335 cxt.lrsa[i].n_lock_acquired = 0; in lock_torture_init()
1344 lock_torture_print_module_parms(cxt.cur_ops, "Start of test"); in lock_torture_init()
1371 writer_tasks = kcalloc(cxt.nrealwriters_stress, in lock_torture_init()
1385 if (cxt.cur_ops->readlock) { in lock_torture_init()
1386 reader_tasks = kcalloc(cxt.nrealreaders_stress, in lock_torture_init()
1406 for (i = 0, j = 0; i < cxt.nrealwriters_stress || in lock_torture_init()
1407 j < cxt.nrealreaders_stress; i++, j++) { in lock_torture_init()
1408 if (i >= cxt.nrealwriters_stress) in lock_torture_init()
1412 firsterr = torture_create_kthread_cb(lock_torture_writer, &cxt.lwsa[i], in lock_torture_init()
1421 if (cxt.cur_ops->readlock == NULL || (j >= cxt.nrealreaders_stress)) in lock_torture_init()
1424 firsterr = torture_create_kthread(lock_torture_reader, &cxt.lrsa[j], in lock_torture_init()