Lines Matching refs:tdata

609 static int thread_lookup_test(struct thread_data *tdata)  in thread_lookup_test()  argument
611 unsigned int entries = tdata->entries; in thread_lookup_test()
618 .tid = tdata->id, in thread_lookup_test()
622 if (obj && (tdata->objs[i].value.id == TEST_INSERT_FAIL)) { in thread_lookup_test()
625 } else if (!obj && (tdata->objs[i].value.id != TEST_INSERT_FAIL)) { in thread_lookup_test()
642 struct thread_data *tdata = data; in threadfunc() local
646 pr_err(" thread[%d]: down_interruptible failed\n", tdata->id); in threadfunc()
648 for (i = 0; i < tdata->entries; i++) { in threadfunc()
649 tdata->objs[i].value.id = i; in threadfunc()
650 tdata->objs[i].value.tid = tdata->id; in threadfunc()
651 err = insert_retry(&ht, &tdata->objs[i], test_rht_params); in threadfunc()
656 tdata->id); in threadfunc()
662 tdata->id, insert_retries); in threadfunc()
664 err = thread_lookup_test(tdata); in threadfunc()
667 tdata->id); in threadfunc()
672 for (i = 0; i < tdata->entries; i += step) { in threadfunc()
673 if (tdata->objs[i].value.id == TEST_INSERT_FAIL) in threadfunc()
675 err = rhashtable_remove_fast(&ht, &tdata->objs[i].node, in threadfunc()
679 tdata->id); in threadfunc()
682 tdata->objs[i].value.id = TEST_INSERT_FAIL; in threadfunc()
686 err = thread_lookup_test(tdata); in threadfunc()
689 tdata->id); in threadfunc()
706 struct thread_data *tdata; in test_rht_init() local
766 tdata = vzalloc(array_size(tcount, sizeof(struct thread_data))); in test_rht_init()
767 if (!tdata) in test_rht_init()
771 vfree(tdata); in test_rht_init()
781 vfree(tdata); in test_rht_init()
786 tdata[i].id = i; in test_rht_init()
787 tdata[i].entries = entries; in test_rht_init()
788 tdata[i].objs = objs + i * entries; in test_rht_init()
789 tdata[i].task = kthread_run(threadfunc, &tdata[i], in test_rht_init()
791 if (IS_ERR(tdata[i].task)) in test_rht_init()
801 if (IS_ERR(tdata[i].task)) in test_rht_init()
803 if ((err = kthread_stop(tdata[i].task))) { in test_rht_init()
810 vfree(tdata); in test_rht_init()