Lines Matching refs:cycle
288 struct test_cycle *cycle = container_of(work, typeof(*cycle), work);
293 ww_mutex_lock(&cycle->a_mutex, &ctx);
295 complete(cycle->a_signal);
296 wait_for_completion(&cycle->b_signal);
298 err = ww_mutex_lock(cycle->b_mutex, &ctx);
301 ww_mutex_unlock(&cycle->a_mutex);
302 ww_mutex_lock_slow(cycle->b_mutex, &ctx);
303 erra = ww_mutex_lock(&cycle->a_mutex, &ctx);
307 ww_mutex_unlock(cycle->b_mutex);
309 ww_mutex_unlock(&cycle->a_mutex);
312 cycle->result = err ?: erra;
326 struct test_cycle *cycle = &cycles[n];
328 ww_mutex_init(&cycle->a_mutex, &ww_class);
330 cycle->b_mutex = &cycles[0].a_mutex;
332 cycle->b_mutex = &cycles[n + 1].a_mutex;
335 cycle->a_signal = &cycles[last].b_signal;
337 cycle->a_signal = &cycles[n - 1].b_signal;
338 init_completion(&cycle->b_signal);
340 INIT_WORK(&cycle->work, test_cycle_work);
341 cycle->result = 0;
351 struct test_cycle *cycle = &cycles[n];
353 if (!cycle->result)
357 n, nthreads, cycle->result);