Lines Matching refs:cxt
105 static struct lock_torture_cxt cxt = { 0, 0, false, false, variable
123 (cxt.nrealwriters_stress * 2000 * longdelay_ms))) in torture_lock_busted_write_delay()
125 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_lock_busted_write_delay()
145 (cxt.nrealwriters_stress * factor))) { in __torture_rt_boost()
159 (cxt.nrealwriters_stress * factor * 2))) { in __torture_rt_boost()
203 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 2000 * longdelay_ms))) { in torture_spin_lock_write_delay()
208 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 200 * shortdelay_us))) in torture_spin_lock_write_delay()
210 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_spin_lock_write_delay()
237 cxt.cur_ops->flags = flags; in torture_spin_lock_write_lock_irq()
244 spin_unlock_irqrestore(&torture_spinlock, cxt.cur_ops->flags); in torture_lock_spin_write_unlock_irq()
290 cxt.cur_ops->flags = flags; in torture_raw_spin_lock_write_lock_irq()
297 raw_spin_unlock_irqrestore(&torture_raw_spinlock, cxt.cur_ops->flags); in torture_raw_spin_lock_write_unlock_irq()
329 (cxt.nrealwriters_stress * 2000 * longdelay_ms))) in torture_rwlock_write_delay()
357 (cxt.nrealreaders_stress * 2000 * longdelay_ms))) in torture_rwlock_read_delay()
386 cxt.cur_ops->flags = flags; in torture_rwlock_write_lock_irq()
393 write_unlock_irqrestore(&torture_rwlock, cxt.cur_ops->flags); in torture_rwlock_write_unlock_irq()
402 cxt.cur_ops->flags = flags; in torture_rwlock_read_lock_irq()
409 read_unlock_irqrestore(&torture_rwlock, cxt.cur_ops->flags); in torture_rwlock_read_unlock_irq()
460 (cxt.nrealwriters_stress * 2000 * longdelay_ms))) in torture_mutex_delay()
462 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_mutex_delay()
512 ww_acquire_ctxs = kmalloc_array(cxt.nrealwriters_stress, in torture_ww_mutex_init()
636 (cxt.nrealwriters_stress * 2000 * longdelay_ms))) in torture_rtmutex_delay()
639 (cxt.nrealwriters_stress * 200 * shortdelay_us))) in torture_rtmutex_delay()
641 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_rtmutex_delay()
698 (cxt.nrealwriters_stress * 2000 * longdelay_ms))) in torture_rwsem_write_delay()
700 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_rwsem_write_delay()
723 (cxt.nrealreaders_stress * 2000 * longdelay_ms))) in torture_rwsem_read_delay()
727 if (!(torture_random(trsp) % (cxt.nrealreaders_stress * 20000))) in torture_rwsem_read_delay()
807 int tid = lwsp - cxt.lwsa; in lock_torture_writer()
832 cxt.cur_ops->task_boost(&rand); in lock_torture_writer()
833 if (cxt.cur_ops->nested_lock) in lock_torture_writer()
834 cxt.cur_ops->nested_lock(tid, lockset_mask); in lock_torture_writer()
837 cxt.cur_ops->writelock(tid); in lock_torture_writer()
847 cxt.cur_ops->write_delay(&rand); in lock_torture_writer()
850 cxt.cur_ops->writeunlock(tid); in lock_torture_writer()
852 if (cxt.cur_ops->nested_unlock) in lock_torture_writer()
853 cxt.cur_ops->nested_unlock(tid, lockset_mask); in lock_torture_writer()
858 cxt.cur_ops->task_boost(NULL); /* reset prio */ in lock_torture_writer()
870 int tid = lrsp - cxt.lrsa; in lock_torture_reader()
880 cxt.cur_ops->readlock(tid); in lock_torture_reader()
886 cxt.cur_ops->read_delay(&rand); in lock_torture_reader()
888 cxt.cur_ops->readunlock(tid); in lock_torture_reader()
908 n_stress = write ? cxt.nrealwriters_stress : cxt.nrealreaders_stress; in __torture_print_stats()
926 atomic_inc(&cxt.n_lock_torture_errors); in __torture_print_stats()
939 int size = cxt.nrealwriters_stress * 200 + 8192; in lock_torture_stats_print()
942 if (cxt.cur_ops->readlock) in lock_torture_stats_print()
943 size += cxt.nrealreaders_stress * 200 + 8192; in lock_torture_stats_print()
952 __torture_print_stats(buf, cxt.lwsa, true); in lock_torture_stats_print()
956 if (cxt.cur_ops->readlock) { in lock_torture_stats_print()
964 __torture_print_stats(buf, cxt.lrsa, false); in lock_torture_stats_print()
995 torture_type, tag, cxt.debug_lock ? " [debug]": "", in lock_torture_print_module_parms()
996 cxt.nrealwriters_stress, cxt.nrealreaders_stress, in lock_torture_print_module_parms()
1015 if (!cxt.lwsa && !cxt.lrsa) in lock_torture_cleanup()
1019 for (i = 0; i < cxt.nrealwriters_stress; i++) in lock_torture_cleanup()
1026 for (i = 0; i < cxt.nrealreaders_stress; i++) in lock_torture_cleanup()
1036 if (atomic_read(&cxt.n_lock_torture_errors)) in lock_torture_cleanup()
1037 lock_torture_print_module_parms(cxt.cur_ops, in lock_torture_cleanup()
1040 lock_torture_print_module_parms(cxt.cur_ops, in lock_torture_cleanup()
1043 lock_torture_print_module_parms(cxt.cur_ops, in lock_torture_cleanup()
1046 kfree(cxt.lwsa); in lock_torture_cleanup()
1047 cxt.lwsa = NULL; in lock_torture_cleanup()
1048 kfree(cxt.lrsa); in lock_torture_cleanup()
1049 cxt.lrsa = NULL; in lock_torture_cleanup()
1052 if (cxt.init_called) { in lock_torture_cleanup()
1053 if (cxt.cur_ops->exit) in lock_torture_cleanup()
1054 cxt.cur_ops->exit(); in lock_torture_cleanup()
1055 cxt.init_called = false; in lock_torture_cleanup()
1083 cxt.cur_ops = torture_ops[i]; in lock_torture_init()
1084 if (strcmp(torture_type, cxt.cur_ops->name) == 0) in lock_torture_init()
1099 (!cxt.cur_ops->readlock || nreaders_stress == 0)) { in lock_torture_init()
1106 cxt.nrealwriters_stress = nwriters_stress; in lock_torture_init()
1108 cxt.nrealwriters_stress = 2 * num_online_cpus(); in lock_torture_init()
1110 if (cxt.cur_ops->init) { in lock_torture_init()
1111 cxt.cur_ops->init(); in lock_torture_init()
1112 cxt.init_called = true; in lock_torture_init()
1117 cxt.debug_lock = true; in lock_torture_init()
1121 cxt.debug_lock = true; in lock_torture_init()
1126 cxt.debug_lock = true; in lock_torture_init()
1132 cxt.lwsa = kmalloc_array(cxt.nrealwriters_stress, in lock_torture_init()
1133 sizeof(*cxt.lwsa), in lock_torture_init()
1135 if (cxt.lwsa == NULL) { in lock_torture_init()
1141 for (i = 0; i < cxt.nrealwriters_stress; i++) { in lock_torture_init()
1142 cxt.lwsa[i].n_lock_fail = 0; in lock_torture_init()
1143 cxt.lwsa[i].n_lock_acquired = 0; in lock_torture_init()
1147 if (cxt.cur_ops->readlock) { in lock_torture_init()
1149 cxt.nrealreaders_stress = nreaders_stress; in lock_torture_init()
1157 cxt.nrealwriters_stress = num_online_cpus(); in lock_torture_init()
1158 cxt.nrealreaders_stress = cxt.nrealwriters_stress; in lock_torture_init()
1162 cxt.lrsa = kmalloc_array(cxt.nrealreaders_stress, in lock_torture_init()
1163 sizeof(*cxt.lrsa), in lock_torture_init()
1165 if (cxt.lrsa == NULL) { in lock_torture_init()
1168 kfree(cxt.lwsa); in lock_torture_init()
1169 cxt.lwsa = NULL; in lock_torture_init()
1173 for (i = 0; i < cxt.nrealreaders_stress; i++) { in lock_torture_init()
1174 cxt.lrsa[i].n_lock_fail = 0; in lock_torture_init()
1175 cxt.lrsa[i].n_lock_acquired = 0; in lock_torture_init()
1180 lock_torture_print_module_parms(cxt.cur_ops, "Start of test"); in lock_torture_init()
1207 writer_tasks = kcalloc(cxt.nrealwriters_stress, in lock_torture_init()
1221 if (cxt.cur_ops->readlock) { in lock_torture_init()
1222 reader_tasks = kcalloc(cxt.nrealreaders_stress, in lock_torture_init()
1242 for (i = 0, j = 0; i < cxt.nrealwriters_stress || in lock_torture_init()
1243 j < cxt.nrealreaders_stress; i++, j++) { in lock_torture_init()
1244 if (i >= cxt.nrealwriters_stress) in lock_torture_init()
1248 firsterr = torture_create_kthread_cb(lock_torture_writer, &cxt.lwsa[i], in lock_torture_init()
1255 if (cxt.cur_ops->readlock == NULL || (j >= cxt.nrealreaders_stress)) in lock_torture_init()
1258 firsterr = torture_create_kthread(lock_torture_reader, &cxt.lrsa[j], in lock_torture_init()