Lines Matching refs:tdata
586 static int thread_lookup_test(struct thread_data *tdata)
588 unsigned int entries = tdata->entries;
595 .tid = tdata->id,
599 if (obj && (tdata->objs[i].value.id == TEST_INSERT_FAIL)) {
602 } else if (!obj && (tdata->objs[i].value.id != TEST_INSERT_FAIL)) {
619 struct thread_data *tdata = data;
624 pr_err(" thread[%d]: interrupted\n", tdata->id);
628 for (i = 0; i < tdata->entries; i++) {
629 tdata->objs[i].value.id = i;
630 tdata->objs[i].value.tid = tdata->id;
631 err = insert_retry(&ht, &tdata->objs[i], test_rht_params);
636 tdata->id);
642 tdata->id, insert_retries);
644 err = thread_lookup_test(tdata);
647 tdata->id);
652 for (i = 0; i < tdata->entries; i += step) {
653 if (tdata->objs[i].value.id == TEST_INSERT_FAIL)
655 err = rhashtable_remove_fast(&ht, &tdata->objs[i].node,
659 tdata->id);
662 tdata->objs[i].value.id = TEST_INSERT_FAIL;
666 err = thread_lookup_test(tdata);
669 tdata->id);
686 struct thread_data *tdata;
746 tdata = vzalloc(array_size(tcount, sizeof(struct thread_data)));
747 if (!tdata)
751 vfree(tdata);
761 vfree(tdata);
766 tdata[i].id = i;
767 tdata[i].entries = entries;
768 tdata[i].objs = objs + i * entries;
769 tdata[i].task = kthread_run(threadfunc, &tdata[i],
771 if (IS_ERR(tdata[i].task)) {
784 if (IS_ERR(tdata[i].task))
786 if ((err = kthread_stop(tdata[i].task))) {
793 vfree(tdata);