Lines Matching refs:locks
384 struct ww_mutex *locks; member
435 struct ww_mutex *locks = stress->locks; in stress_inorder_work() local
454 err = ww_mutex_lock(&locks[order[n]], &ctx); in stress_inorder_work()
462 ww_mutex_unlock(&locks[order[contended]]); in stress_inorder_work()
465 ww_mutex_unlock(&locks[order[n]]); in stress_inorder_work()
469 ww_mutex_lock_slow(&locks[order[contended]], &ctx); in stress_inorder_work()
493 LIST_HEAD(locks); in stress_reorder_work()
508 ll->lock = &stress->locks[order[n]]; in stress_reorder_work()
509 list_add(&ll->link, &locks); in stress_reorder_work()
517 list_for_each_entry(ll, &locks, link) { in stress_reorder_work()
523 list_for_each_entry_continue_reverse(ln, &locks, link) in stress_reorder_work()
533 list_move(&ll->link, &locks); /* restarts iteration */ in stress_reorder_work()
537 list_for_each_entry(ll, &locks, link) in stress_reorder_work()
544 list_for_each_entry_safe(ll, ln, &locks, link) in stress_reorder_work()
553 struct ww_mutex *lock = stress->locks + get_random_u32_below(nlocks); in stress_one_work()
576 struct ww_mutex *locks; in stress() local
580 locks = kmalloc_array(nlocks, sizeof(*locks), GFP_KERNEL); in stress()
581 if (!locks) in stress()
587 kfree(locks); in stress()
592 ww_mutex_init(&locks[n], &ww_class); in stress()
621 stress->locks = locks; in stress()
632 ww_mutex_destroy(&locks[n]); in stress()
634 kfree(locks); in stress()