Lines Matching refs:tdata
219 static int thread_lookup_test(struct thread_data *tdata) in thread_lookup_test() argument
225 int key = (tdata->id << 16) | i; in thread_lookup_test()
228 if (obj && (tdata->objs[i].value == TEST_INSERT_FAIL)) { in thread_lookup_test()
231 } else if (!obj && (tdata->objs[i].value != TEST_INSERT_FAIL)) { in thread_lookup_test()
246 struct thread_data *tdata = data; in threadfunc() local
250 pr_err(" thread[%d]: down_interruptible failed\n", tdata->id); in threadfunc()
253 tdata->objs[i].value = (tdata->id << 16) | i; in threadfunc()
254 err = rhashtable_insert_fast(&ht, &tdata->objs[i].node, in threadfunc()
257 tdata->objs[i].value = TEST_INSERT_FAIL; in threadfunc()
261 tdata->id); in threadfunc()
267 tdata->id, insert_fails); in threadfunc()
269 err = thread_lookup_test(tdata); in threadfunc()
272 tdata->id); in threadfunc()
278 if (tdata->objs[i].value == TEST_INSERT_FAIL) in threadfunc()
280 err = rhashtable_remove_fast(&ht, &tdata->objs[i].node, in threadfunc()
284 tdata->id); in threadfunc()
287 tdata->objs[i].value = TEST_INSERT_FAIL; in threadfunc()
289 err = thread_lookup_test(tdata); in threadfunc()
292 tdata->id); in threadfunc()
308 struct thread_data *tdata; in test_rht_init() local
351 tdata = vzalloc(tcount * sizeof(struct thread_data)); in test_rht_init()
352 if (!tdata) in test_rht_init()
356 vfree(tdata); in test_rht_init()
364 vfree(tdata); in test_rht_init()
369 tdata[i].id = i; in test_rht_init()
370 tdata[i].objs = objs + i * entries; in test_rht_init()
371 tdata[i].task = kthread_run(threadfunc, &tdata[i], in test_rht_init()
373 if (IS_ERR(tdata[i].task)) in test_rht_init()
383 if (IS_ERR(tdata[i].task)) in test_rht_init()
385 if ((err = kthread_stop(tdata[i].task))) { in test_rht_init()
394 vfree(tdata); in test_rht_init()