Lines Matching refs:cxt

111 static struct lock_torture_cxt cxt = { 0, 0, false,  variable
129 (cxt.nrealwriters_stress * 2000 * longdelay_us))) in torture_lock_busted_write_delay()
132 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_lock_busted_write_delay()
169 (cxt.nrealwriters_stress * 2000 * longdelay_us))) in torture_spin_lock_write_delay()
172 (cxt.nrealwriters_stress * 2 * shortdelay_us))) in torture_spin_lock_write_delay()
175 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_spin_lock_write_delay()
201 cxt.cur_ops->flags = flags; in torture_spin_lock_write_lock_irq()
208 spin_unlock_irqrestore(&torture_spinlock, cxt.cur_ops->flags); in torture_lock_spin_write_unlock_irq()
238 (cxt.nrealwriters_stress * 2000 * longdelay_ms))) in torture_rwlock_write_delay()
264 (cxt.nrealreaders_stress * 2000 * longdelay_ms))) in torture_rwlock_read_delay()
290 cxt.cur_ops->flags = flags; in torture_rwlock_write_lock_irq()
297 write_unlock_irqrestore(&torture_rwlock, cxt.cur_ops->flags); in torture_rwlock_write_unlock_irq()
305 cxt.cur_ops->flags = flags; in torture_rwlock_read_lock_irq()
312 write_unlock_irqrestore(&torture_rwlock, cxt.cur_ops->flags); in torture_rwlock_read_unlock_irq()
339 (cxt.nrealwriters_stress * 2000 * longdelay_ms))) in torture_mutex_delay()
344 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_mutex_delay()
377 (cxt.nrealwriters_stress * 2000 * longdelay_ms))) in torture_rwsem_write_delay()
382 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000))) in torture_rwsem_write_delay()
404 (cxt.nrealwriters_stress * 2000 * longdelay_ms))) in torture_rwsem_read_delay()
409 if (!(torture_random(trsp) % (cxt.nrealreaders_stress * 20000))) in torture_rwsem_read_delay()
445 cxt.cur_ops->writelock(); in lock_torture_writer()
453 cxt.cur_ops->write_delay(&rand); in lock_torture_writer()
455 cxt.cur_ops->writeunlock(); in lock_torture_writer()
479 cxt.cur_ops->readlock(); in lock_torture_reader()
485 cxt.cur_ops->read_delay(&rand); in lock_torture_reader()
487 cxt.cur_ops->readunlock(); in lock_torture_reader()
507 n_stress = write ? cxt.nrealwriters_stress : cxt.nrealreaders_stress; in __torture_print_stats()
523 atomic_inc(&cxt.n_lock_torture_errors); in __torture_print_stats()
536 int size = cxt.nrealwriters_stress * 200 + 8192; in lock_torture_stats_print()
539 if (cxt.cur_ops->readlock) in lock_torture_stats_print()
540 size += cxt.nrealreaders_stress * 200 + 8192; in lock_torture_stats_print()
549 __torture_print_stats(buf, cxt.lwsa, true); in lock_torture_stats_print()
553 if (cxt.cur_ops->readlock) { in lock_torture_stats_print()
561 __torture_print_stats(buf, cxt.lrsa, false); in lock_torture_stats_print()
592 torture_type, tag, cxt.debug_lock ? " [debug]": "", in lock_torture_print_module_parms()
593 cxt.nrealwriters_stress, cxt.nrealreaders_stress, stat_interval, in lock_torture_print_module_parms()
606 for (i = 0; i < cxt.nrealwriters_stress; i++) in lock_torture_cleanup()
614 for (i = 0; i < cxt.nrealreaders_stress; i++) in lock_torture_cleanup()
624 if (atomic_read(&cxt.n_lock_torture_errors)) in lock_torture_cleanup()
625 lock_torture_print_module_parms(cxt.cur_ops, in lock_torture_cleanup()
628 lock_torture_print_module_parms(cxt.cur_ops, in lock_torture_cleanup()
631 lock_torture_print_module_parms(cxt.cur_ops, in lock_torture_cleanup()
653 cxt.cur_ops = torture_ops[i]; in lock_torture_init()
654 if (strcmp(torture_type, cxt.cur_ops->name) == 0) in lock_torture_init()
667 if (cxt.cur_ops->init) in lock_torture_init()
668 cxt.cur_ops->init(); /* no "goto unwind" prior to this point!!! */ in lock_torture_init()
671 cxt.nrealwriters_stress = nwriters_stress; in lock_torture_init()
673 cxt.nrealwriters_stress = 2 * num_online_cpus(); in lock_torture_init()
677 cxt.debug_lock = true; in lock_torture_init()
682 cxt.debug_lock = true; in lock_torture_init()
688 cxt.lwsa = kmalloc(sizeof(*cxt.lwsa) * cxt.nrealwriters_stress, GFP_KERNEL); in lock_torture_init()
689 if (cxt.lwsa == NULL) { in lock_torture_init()
694 for (i = 0; i < cxt.nrealwriters_stress; i++) { in lock_torture_init()
695 cxt.lwsa[i].n_lock_fail = 0; in lock_torture_init()
696 cxt.lwsa[i].n_lock_acquired = 0; in lock_torture_init()
699 if (cxt.cur_ops->readlock) { in lock_torture_init()
701 cxt.nrealreaders_stress = nreaders_stress; in lock_torture_init()
709 cxt.nrealwriters_stress = num_online_cpus(); in lock_torture_init()
710 cxt.nrealreaders_stress = cxt.nrealwriters_stress; in lock_torture_init()
714 cxt.lrsa = kmalloc(sizeof(*cxt.lrsa) * cxt.nrealreaders_stress, GFP_KERNEL); in lock_torture_init()
715 if (cxt.lrsa == NULL) { in lock_torture_init()
718 kfree(cxt.lwsa); in lock_torture_init()
722 for (i = 0; i < cxt.nrealreaders_stress; i++) { in lock_torture_init()
723 cxt.lrsa[i].n_lock_fail = 0; in lock_torture_init()
724 cxt.lrsa[i].n_lock_acquired = 0; in lock_torture_init()
727 lock_torture_print_module_parms(cxt.cur_ops, "Start of test"); in lock_torture_init()
753 writer_tasks = kzalloc(cxt.nrealwriters_stress * sizeof(writer_tasks[0]), in lock_torture_init()
761 if (cxt.cur_ops->readlock) { in lock_torture_init()
762 reader_tasks = kzalloc(cxt.nrealreaders_stress * sizeof(reader_tasks[0]), in lock_torture_init()
779 for (i = 0, j = 0; i < cxt.nrealwriters_stress || in lock_torture_init()
780 j < cxt.nrealreaders_stress; i++, j++) { in lock_torture_init()
781 if (i >= cxt.nrealwriters_stress) in lock_torture_init()
785 firsterr = torture_create_kthread(lock_torture_writer, &cxt.lwsa[i], in lock_torture_init()
791 if (cxt.cur_ops->readlock == NULL || (j >= cxt.nrealreaders_stress)) in lock_torture_init()
794 firsterr = torture_create_kthread(lock_torture_reader, &cxt.lrsa[j], in lock_torture_init()