Lines Matching refs:cxt
101 static struct lock_torture_cxt cxt = { 0, 0, false, false, variable
119 (cxt.nrealwriters_stress * 2000 * longdelay_ms))) in torture_lock_busted_write_delay()
121 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_lock_busted_write_delay()
164 (cxt.nrealwriters_stress * 2000 * longdelay_ms))) in torture_spin_lock_write_delay()
167 (cxt.nrealwriters_stress * 2 * shortdelay_us))) in torture_spin_lock_write_delay()
169 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_spin_lock_write_delay()
196 cxt.cur_ops->flags = flags; in torture_spin_lock_write_lock_irq()
203 spin_unlock_irqrestore(&torture_spinlock, cxt.cur_ops->flags); in torture_lock_spin_write_unlock_irq()
235 (cxt.nrealwriters_stress * 2000 * longdelay_ms))) in torture_rwlock_write_delay()
263 (cxt.nrealreaders_stress * 2000 * longdelay_ms))) in torture_rwlock_read_delay()
292 cxt.cur_ops->flags = flags; in torture_rwlock_write_lock_irq()
299 write_unlock_irqrestore(&torture_rwlock, cxt.cur_ops->flags); in torture_rwlock_write_unlock_irq()
308 cxt.cur_ops->flags = flags; in torture_rwlock_read_lock_irq()
315 read_unlock_irqrestore(&torture_rwlock, cxt.cur_ops->flags); in torture_rwlock_read_unlock_irq()
344 (cxt.nrealwriters_stress * 2000 * longdelay_ms))) in torture_mutex_delay()
348 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_mutex_delay()
385 ww_acquire_ctxs = kmalloc_array(cxt.nrealwriters_stress, in torture_ww_mutex_init()
488 (cxt.nrealwriters_stress * factor))) { in torture_rtmutex_boost()
501 (cxt.nrealwriters_stress * factor * 2))) { in torture_rtmutex_boost()
518 (cxt.nrealwriters_stress * 2000 * longdelay_ms))) in torture_rtmutex_delay()
521 (cxt.nrealwriters_stress * 2 * shortdelay_us))) in torture_rtmutex_delay()
523 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_rtmutex_delay()
559 (cxt.nrealwriters_stress * 2000 * longdelay_ms))) in torture_rwsem_write_delay()
563 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_rwsem_write_delay()
586 (cxt.nrealreaders_stress * 2000 * longdelay_ms))) in torture_rwsem_read_delay()
590 if (!(torture_random(trsp) % (cxt.nrealreaders_stress * 20000))) in torture_rwsem_read_delay()
670 int tid = lwsp - cxt.lwsa; in lock_torture_writer()
680 cxt.cur_ops->task_boost(&rand); in lock_torture_writer()
681 cxt.cur_ops->writelock(tid); in lock_torture_writer()
689 cxt.cur_ops->write_delay(&rand); in lock_torture_writer()
692 cxt.cur_ops->writeunlock(tid); in lock_torture_writer()
697 cxt.cur_ops->task_boost(NULL); /* reset prio */ in lock_torture_writer()
709 int tid = lrsp - cxt.lrsa; in lock_torture_reader()
719 cxt.cur_ops->readlock(tid); in lock_torture_reader()
725 cxt.cur_ops->read_delay(&rand); in lock_torture_reader()
727 cxt.cur_ops->readunlock(tid); in lock_torture_reader()
747 n_stress = write ? cxt.nrealwriters_stress : cxt.nrealreaders_stress; in __torture_print_stats()
765 atomic_inc(&cxt.n_lock_torture_errors); in __torture_print_stats()
778 int size = cxt.nrealwriters_stress * 200 + 8192; in lock_torture_stats_print()
781 if (cxt.cur_ops->readlock) in lock_torture_stats_print()
782 size += cxt.nrealreaders_stress * 200 + 8192; in lock_torture_stats_print()
791 __torture_print_stats(buf, cxt.lwsa, true); in lock_torture_stats_print()
795 if (cxt.cur_ops->readlock) { in lock_torture_stats_print()
803 __torture_print_stats(buf, cxt.lrsa, false); in lock_torture_stats_print()
834 torture_type, tag, cxt.debug_lock ? " [debug]": "", in lock_torture_print_module_parms()
835 cxt.nrealwriters_stress, cxt.nrealreaders_stress, stat_interval, in lock_torture_print_module_parms()
854 if (!cxt.lwsa && !cxt.lrsa) in lock_torture_cleanup()
858 for (i = 0; i < cxt.nrealwriters_stress; i++) in lock_torture_cleanup()
866 for (i = 0; i < cxt.nrealreaders_stress; i++) in lock_torture_cleanup()
876 if (atomic_read(&cxt.n_lock_torture_errors)) in lock_torture_cleanup()
877 lock_torture_print_module_parms(cxt.cur_ops, in lock_torture_cleanup()
880 lock_torture_print_module_parms(cxt.cur_ops, in lock_torture_cleanup()
883 lock_torture_print_module_parms(cxt.cur_ops, in lock_torture_cleanup()
886 kfree(cxt.lwsa); in lock_torture_cleanup()
887 cxt.lwsa = NULL; in lock_torture_cleanup()
888 kfree(cxt.lrsa); in lock_torture_cleanup()
889 cxt.lrsa = NULL; in lock_torture_cleanup()
892 if (cxt.init_called) { in lock_torture_cleanup()
893 if (cxt.cur_ops->exit) in lock_torture_cleanup()
894 cxt.cur_ops->exit(); in lock_torture_cleanup()
895 cxt.init_called = false; in lock_torture_cleanup()
922 cxt.cur_ops = torture_ops[i]; in lock_torture_init()
923 if (strcmp(torture_type, cxt.cur_ops->name) == 0) in lock_torture_init()
938 (!cxt.cur_ops->readlock || nreaders_stress == 0)) { in lock_torture_init()
945 cxt.nrealwriters_stress = nwriters_stress; in lock_torture_init()
947 cxt.nrealwriters_stress = 2 * num_online_cpus(); in lock_torture_init()
949 if (cxt.cur_ops->init) { in lock_torture_init()
950 cxt.cur_ops->init(); in lock_torture_init()
951 cxt.init_called = true; in lock_torture_init()
956 cxt.debug_lock = true; in lock_torture_init()
960 cxt.debug_lock = true; in lock_torture_init()
965 cxt.debug_lock = true; in lock_torture_init()
971 cxt.lwsa = kmalloc_array(cxt.nrealwriters_stress, in lock_torture_init()
972 sizeof(*cxt.lwsa), in lock_torture_init()
974 if (cxt.lwsa == NULL) { in lock_torture_init()
980 for (i = 0; i < cxt.nrealwriters_stress; i++) { in lock_torture_init()
981 cxt.lwsa[i].n_lock_fail = 0; in lock_torture_init()
982 cxt.lwsa[i].n_lock_acquired = 0; in lock_torture_init()
986 if (cxt.cur_ops->readlock) { in lock_torture_init()
988 cxt.nrealreaders_stress = nreaders_stress; in lock_torture_init()
996 cxt.nrealwriters_stress = num_online_cpus(); in lock_torture_init()
997 cxt.nrealreaders_stress = cxt.nrealwriters_stress; in lock_torture_init()
1001 cxt.lrsa = kmalloc_array(cxt.nrealreaders_stress, in lock_torture_init()
1002 sizeof(*cxt.lrsa), in lock_torture_init()
1004 if (cxt.lrsa == NULL) { in lock_torture_init()
1007 kfree(cxt.lwsa); in lock_torture_init()
1008 cxt.lwsa = NULL; in lock_torture_init()
1012 for (i = 0; i < cxt.nrealreaders_stress; i++) { in lock_torture_init()
1013 cxt.lrsa[i].n_lock_fail = 0; in lock_torture_init()
1014 cxt.lrsa[i].n_lock_acquired = 0; in lock_torture_init()
1019 lock_torture_print_module_parms(cxt.cur_ops, "Start of test"); in lock_torture_init()
1046 writer_tasks = kcalloc(cxt.nrealwriters_stress, in lock_torture_init()
1056 if (cxt.cur_ops->readlock) { in lock_torture_init()
1057 reader_tasks = kcalloc(cxt.nrealreaders_stress, in lock_torture_init()
1077 for (i = 0, j = 0; i < cxt.nrealwriters_stress || in lock_torture_init()
1078 j < cxt.nrealreaders_stress; i++, j++) { in lock_torture_init()
1079 if (i >= cxt.nrealwriters_stress) in lock_torture_init()
1083 firsterr = torture_create_kthread(lock_torture_writer, &cxt.lwsa[i], in lock_torture_init()
1089 if (cxt.cur_ops->readlock == NULL || (j >= cxt.nrealreaders_stress)) in lock_torture_init()
1092 firsterr = torture_create_kthread(lock_torture_reader, &cxt.lrsa[j], in lock_torture_init()