@@ -431,7 +431,7 @@ static int __find_race(void *arg)
signal:
seqno = get_random_u32_below(data->fc.chain_length - 1);
dma_fence_signal(data->fc.fences[seqno]);
- cond_resched();
+ fsleep(10000);
}
if (atomic_dec_and_test(&data->children))
@@ -505,6 +505,7 @@ static int signal_forward(void *arg)
for (i = 0; i < fc.chain_length; i++) {
dma_fence_signal(fc.fences[i]);
+ fsleep(10000);
if (!dma_fence_is_signaled(fc.chains[i])) {
pr_err("chain[%d] not signaled!\n", i);
@@ -537,6 +538,7 @@ static int signal_backward(void *arg)
for (i = fc.chain_length; i--; ) {
dma_fence_signal(fc.fences[i]);
+ fsleep(10000);
if (i > 0 && dma_fence_is_signaled(fc.chains[i])) {
pr_err("chain[%d] is signaled!\n", i);
@@ -587,8 +589,10 @@ static int wait_forward(void *arg)
get_task_struct(tsk);
yield_to(tsk, true);
- for (i = 0; i < fc.chain_length; i++)
+ for (i = 0; i < fc.chain_length; i++) {
dma_fence_signal(fc.fences[i]);
+ fsleep(10000);
+ }
err = kthread_stop_put(tsk);
@@ -616,8 +620,10 @@ static int wait_backward(void *arg)
get_task_struct(tsk);
yield_to(tsk, true);
- for (i = fc.chain_length; i--; )
+ for (i = fc.chain_length; i--; ) {
dma_fence_signal(fc.fences[i]);
+ fsleep(10000);
+ }
err = kthread_stop_put(tsk);
@@ -663,8 +669,10 @@ static int wait_random(void *arg)
get_task_struct(tsk);
yield_to(tsk, true);
- for (i = 0; i < fc.chain_length; i++)
+ for (i = 0; i < fc.chain_length; i++) {
dma_fence_signal(fc.fences[i]);
+ fsleep(10000);
+ }
err = kthread_stop_put(tsk);