/linux/tools/perf/util/ |
H A D | thread_map.c | 36 struct perf_thread_map *threads; in thread_map__new_by_pid() local 47 threads = thread_map__alloc(items); in thread_map__new_by_pid() 48 if (threads != NULL) { in thread_map__new_by_pid() 50 perf_thread_map__set_pid(threads, i, atoi(namelist[i]->d_name)); in thread_map__new_by_pid() 51 threads->nr = items; in thread_map__new_by_pid() 52 refcount_set(&threads->refcnt, 1); in thread_map__new_by_pid() 59 return threads; in thread_map__new_by_pid() 64 struct perf_thread_map *threads = thread_map__alloc(1); in thread_map__new_by_tid() local 66 if (threads != NULL) { in thread_map__new_by_tid() 67 perf_thread_map__set_pid(threads, 0, tid); in thread_map__new_by_tid() [all …]
|
H A D | threads.h | 20 struct threads { struct 24 void threads__init(struct threads *threads); 25 void threads__exit(struct threads *threads); 26 size_t threads__nr(struct threads *threads); 27 struct thread *threads__find(struct threads *threads, pid_t tid); 28 struct thread *threads__findnew(struct threads *threads, pid_t pid, pid_t tid, bool *created); 29 void threads__remove_all_threads(struct threads *threads); 30 void threads__remove(struct threads *threads, struct thread *thread); 31 int threads__for_each_thread(struct threads *threads,
|
H A D | threads.c | 2 #include "threads.h" 6 static struct threads_table_entry *threads__table(struct threads *threads, pid_t tid) in threads__table() argument 9 return &threads->table[(unsigned int)tid % THREADS__TABLE_SIZE]; in threads__table() 23 void threads__init(struct threads *threads) in threads__init() argument 26 struct threads_table_entry *table = &threads->table[i]; in threads__init() 34 void threads__exit(struct threads *threads) in threads__exit() argument 36 threads__remove_all_threads(threads); in threads__exit() 45 threads__nr(struct threads * threads) threads__nr() argument 92 threads__find(struct threads * threads,pid_t tid) threads__find() argument 109 threads__findnew(struct threads * threads,pid_t pid,pid_t tid,bool * created) threads__findnew() argument 135 threads__remove_all_threads(struct threads * threads) threads__remove_all_threads() argument 154 threads__remove(struct threads * threads,struct thread * thread) threads__remove() argument 168 threads__for_each_thread(struct threads * threads,int (* fn)(struct thread * thread,void * data),void * data) threads__for_each_thread() argument [all...] |
/linux/tools/perf/tests/ |
H A D | thread-map.c | 69 struct perf_thread_map *threads; in process_event() local 75 threads = thread_map__new_event(&event->thread_map); in process_event() 76 TEST_ASSERT_VAL("failed to alloc map", threads); in process_event() 78 TEST_ASSERT_VAL("wrong nr", threads->nr == 1); in process_event() 80 perf_thread_map__pid(threads, 0) == getpid()); in process_event() 82 perf_thread_map__comm(threads, 0) && in process_event() 83 !strcmp(perf_thread_map__comm(threads, 0), NAME)); in process_event() 85 refcount_read(&threads->refcnt) == 1); in process_event() 86 perf_thread_map__put(threads); in process_event() 92 struct perf_thread_map *threads; in test__thread_map_synthesize() local [all …]
|
H A D | event-times.c | 62 struct perf_thread_map *threads; in attach__current_disabled() local 67 threads = thread_map__new(-1, getpid(), UINT_MAX); in attach__current_disabled() 68 if (threads == NULL) { in attach__current_disabled() 75 err = evsel__open_per_thread(evsel, threads); in attach__current_disabled() 81 perf_thread_map__put(threads); in attach__current_disabled() 88 struct perf_thread_map *threads; in attach__current_enabled() local 93 threads = thread_map__new(-1, getpid(), UINT_MAX); in attach__current_enabled() 94 if (threads == NULL) { in attach__current_enabled() 99 err = evsel__open_per_thread(evsel, threads); in attach__current_enabled() 101 perf_thread_map__put(threads); in attach__current_enabled() [all...] |
H A D | mmap-basic.c | 36 struct perf_thread_map *threads; in test__basic_mmap() local 49 threads = thread_map__new(-1, getpid(), UINT_MAX); in test__basic_mmap() 50 if (threads == NULL) { in test__basic_mmap() 77 perf_evlist__set_maps(&evlist->core, cpus, threads); in test__basic_mmap() 98 if (evsel__open(evsels[i], cpus, threads) < 0) { in test__basic_mmap() 168 perf_thread_map__put(threads); in test__basic_mmap() 175 struct perf_thread_map *threads; in test_stat_user_read() local 188 threads = perf_thread_map__new_dummy(); in test_stat_user_read() 189 TEST_ASSERT_VAL("failed to create threads", threads); in test_stat_user_read() 191 perf_thread_map__set_pid(threads, 0, 0); in test_stat_user_read() [all …]
|
/linux/tools/lib/perf/tests/ |
H A D | test-evsel.c | 56 struct perf_thread_map *threads; in test_stat_thread() local 64 threads = perf_thread_map__new_dummy(); in test_stat_thread() 65 __T("failed to create threads", threads); in test_stat_thread() 67 perf_thread_map__set_pid(threads, 0, 0); in test_stat_thread() 72 err = perf_evsel__open(evsel, NULL, threads); in test_stat_thread() 81 perf_thread_map__put(threads); in test_stat_thread() 88 struct perf_thread_map *threads; in test_stat_thread_enable() local 97 threads = perf_thread_map__new_dummy(); in test_stat_thread_enable() 98 __T("failed to create threads", threads); in test_stat_thread_enable() 100 perf_thread_map__set_pid(threads, 0, 0); in test_stat_thread_enable() [all …]
|
H A D | test-threadmap.c | 16 struct perf_thread_map *threads; in test_threadmap_array() local 19 threads = perf_thread_map__new_array(nr, array); in test_threadmap_array() 20 __T("Failed to allocate new thread map", threads); in test_threadmap_array() 22 __T("Unexpected number of threads", perf_thread_map__nr(threads) == nr); in test_threadmap_array() 26 perf_thread_map__pid(threads, i) == (array ? array[i] : -1)); in test_threadmap_array() 30 perf_thread_map__set_pid(threads, i, i * 100); in test_threadmap_array() 33 perf_thread_map__pid(threads, 0) == (array ? array[0] : -1)); in test_threadmap_array() 37 perf_thread_map__pid(threads, i) == i * 100); in test_threadmap_array() 40 perf_thread_map__put(threads); in test_threadmap_array() 48 struct perf_thread_map *threads; in test_threadmap() local [all …]
|
H A D | test-evlist.c | 95 struct perf_thread_map *threads; in test_stat_thread() local 108 threads = perf_thread_map__new_dummy(); in test_stat_thread() 109 __T("failed to create threads", threads); in test_stat_thread() 111 perf_thread_map__set_pid(threads, 0, 0); in test_stat_thread() 130 perf_evlist__set_maps(evlist, NULL, threads); in test_stat_thread() 143 perf_thread_map__put(threads); in test_stat_thread() 150 struct perf_thread_map *threads; in test_stat_thread_enable() local 165 threads = perf_thread_map__new_dummy(); in test_stat_thread_enable() 166 __T("failed to create threads", threads); in test_stat_thread_enable() 168 perf_thread_map__set_pid(threads, 0, 0); in test_stat_thread_enable() [all …]
|
/linux/tools/lib/perf/ |
H A D | threadmap.c | 47 struct perf_thread_map *threads = thread_map__alloc(nr_threads); in perf_thread_map__new_array() local 50 if (!threads) in perf_thread_map__new_array() 54 perf_thread_map__set_pid(threads, i, array ? array[i] : -1); in perf_thread_map__new_array() 56 threads->nr = nr_threads; in perf_thread_map__new_array() 57 refcount_set(&threads->refcnt, 1); in perf_thread_map__new_array() 59 return threads; in perf_thread_map__new_array() 67 static void perf_thread_map__delete(struct perf_thread_map *threads) in perf_thread_map__delete() argument 69 if (threads) { in perf_thread_map__delete() 72 WARN_ONCE(refcount_read(&threads->refcnt) != 0, in perf_thread_map__delete() 74 for (i = 0; i < threads->nr; i++) in perf_thread_map__delete() [all …]
|
H A D | evlist.c | 85 perf_thread_map__put(evsel->threads); in __perf_evlist__propagate_maps() 86 evsel->threads = perf_thread_map__new_dummy(); in __perf_evlist__propagate_maps() 88 perf_thread_map__put(evsel->threads); in __perf_evlist__propagate_maps() 89 evsel->threads = perf_thread_map__get(evlist->threads); in __perf_evlist__propagate_maps() 169 perf_thread_map__put(evlist->threads); in perf_evlist__exit() 172 evlist->threads = NULL; in perf_evlist__exit() 190 struct perf_thread_map *threads) in perf_evlist__set_maps() argument 204 if (threads != evlist->threads) { in perf_evlist__set_maps() 205 perf_thread_map__put(evlist->threads); in perf_evlist__set_maps() 206 evlist->threads = perf_thread_map__get(threads); in perf_evlist__set_maps() [all …]
|
/linux/tools/perf/bench/ |
H A D | breakpoint.c | 89 pthread_t *threads; in breakpoint_thread() local 91 threads = calloc(thread_params.nthreads, sizeof(threads[0])); in breakpoint_thread() 92 if (!threads) in breakpoint_thread() 98 if (pthread_create(&threads[i], NULL, passive_thread, &done)) in breakpoint_thread() 104 pthread_join(threads[i], NULL); in breakpoint_thread() 106 free(threads); in breakpoint_thread() 203 pthread_t *threads; in bench_breakpoint_enable() local 220 threads = calloc(nthreads, sizeof(threads[0])); in bench_breakpoint_enable() 221 if (!threads) in bench_breakpoint_enable() 225 if (pthread_create(&threads[i], NULL, in bench_breakpoint_enable() [all …]
|
H A D | synthesize.c | 62 struct perf_thread_map *threads, in do_run_single_threaded() argument 81 target, threads, in do_run_single_threaded() 116 struct perf_thread_map *threads; in run_single_threaded() local 125 threads = thread_map__new_by_pid(getpid()); in run_single_threaded() 126 if (!threads) { in run_single_threaded() 136 err = do_run_single_threaded(session, threads, &target, false); in run_single_threaded() 140 err = do_run_single_threaded(session, threads, &target, true); in run_single_threaded() 143 if (threads) in run_single_threaded() 144 perf_thread_map__put(threads); in run_single_threaded()
|
/linux/tools/testing/selftests/dma/ |
H A D | dma_map_benchmark.c | 29 int threads = 1, seconds = 20, node = -1; in main() local 40 threads = atoi(optarg); in main() 65 if (threads <= 0 || threads > DMA_MAP_MAX_THREADS) { in main() 108 map.threads = threads; in main() 121 threads, seconds, node, dir[directions], granule); in main()
|
/linux/tools/testing/selftests/powerpc/math/ |
H A D | vmx_signal.c | 95 int i, j, rc, threads; in test_signal_vmx() local 102 threads = sysconf(_SC_NPROCESSORS_ONLN) * THREAD_FACTOR; in test_signal_vmx() 103 tids = malloc(threads * sizeof(pthread_t)); in test_signal_vmx() 107 threads_starting = threads; in test_signal_vmx() 108 for (i = 0; i < threads; i++) { in test_signal_vmx() 114 printf("\tWaiting for %d workers to start... %d", threads, threads_starting); in test_signal_vmx() 124 for (j = 0; j < threads; j++) { in test_signal_vmx() 133 for (i = 0; i < threads; i++) { in test_signal_vmx()
|
H A D | fpu_signal.c | 73 int i, j, rc, threads; in test_signal_fpu() local 77 threads = sysconf(_SC_NPROCESSORS_ONLN) * THREAD_FACTOR; in test_signal_fpu() 78 tids = malloc(threads * sizeof(pthread_t)); in test_signal_fpu() 82 threads_starting = threads; in test_signal_fpu() 83 for (i = 0; i < threads; i++) { in test_signal_fpu() 96 for (j = 0; j < threads; j++) { in test_signal_fpu() 105 for (i = 0; i < threads; i++) { in test_signal_fpu()
|
H A D | fpu_preempt.c | 53 int i, rc, threads; in test_preempt_fpu() local 56 threads = sysconf(_SC_NPROCESSORS_ONLN) * THREAD_FACTOR; in test_preempt_fpu() 57 tids = malloc((threads) * sizeof(pthread_t)); in test_preempt_fpu() 61 threads_starting = threads; in test_preempt_fpu() 62 for (i = 0; i < threads; i++) { in test_preempt_fpu() 84 for (i = 0; i < threads; i++) { in test_preempt_fpu()
|
H A D | vmx_preempt.c | 59 int i, rc, threads; in test_preempt_vmx() local 65 threads = sysconf(_SC_NPROCESSORS_ONLN) * THREAD_FACTOR; in test_preempt_vmx() 66 tids = malloc(threads * sizeof(pthread_t)); in test_preempt_vmx() 70 threads_starting = threads; in test_preempt_vmx() 71 for (i = 0; i < threads; i++) { in test_preempt_vmx() 93 for (i = 0; i < threads; i++) { in test_preempt_vmx()
|
/linux/drivers/gpu/drm/i915/gt/ |
H A D | selftest_slpc.c | 484 struct slpc_thread *threads; in live_slpc_tile_interaction() local 487 threads = kcalloc(I915_MAX_GT, sizeof(*threads), GFP_KERNEL); in live_slpc_tile_interaction() 488 if (!threads) in live_slpc_tile_interaction() 492 threads[i].worker = kthread_create_worker(0, "igt/slpc_parallel:%d", gt->info.id); in live_slpc_tile_interaction() 494 if (IS_ERR(threads[i].worker)) { in live_slpc_tile_interaction() 495 ret = PTR_ERR(threads[i].worker); in live_slpc_tile_interaction() 499 threads[i].gt = gt; in live_slpc_tile_interaction() 500 kthread_init_work(&threads[i].work, slpc_spinner_thread); in live_slpc_tile_interaction() 501 kthread_queue_work(threads[i].worker, &threads[i].work); in live_slpc_tile_interaction() 507 if (IS_ERR_OR_NULL(threads[i].worker)) in live_slpc_tile_interaction() [all …]
|
/linux/tools/lib/perf/Documentation/examples/ |
H A D | counting.c | 23 struct perf_thread_map *threads; in main() local 40 threads = perf_thread_map__new_dummy(); in main() 41 if (!threads) { in main() 45 perf_thread_map__set_pid(threads, 0, 0); in main() 63 perf_evlist__set_maps(evlist, NULL, threads); in main() 81 perf_thread_map__put(threads); in main()
|
/linux/tools/testing/selftests/mm/ |
H A D | migration.c | 25 pthread_t *threads; in FIXTURE() local 51 self->threads = malloc(self->nthreads * sizeof(*self->threads)); in FIXTURE_SETUP() 52 ASSERT_NE(self->threads, NULL); in FIXTURE_SETUP() 59 free(self->threads); in FIXTURE_TEARDOWN() 137 if (pthread_create(&self->threads[i], NULL, access_mem, ptr)) 142 ASSERT_EQ(pthread_cancel(self->threads[i]), 0); 199 if (pthread_create(&self->threads[i], NULL, access_mem, ptr)) 204 ASSERT_EQ(pthread_cancel(self->threads[i]), 0);
|
/linux/Documentation/driver-api/dmaengine/ |
H A D | dmatest.rst | 16 test multiple channels at the same time, and it can start multiple threads 73 (shared) parameters used for all threads will use the new values. 74 After the channels are specified, each thread is set as pending. All threads 82 Once started a message like " dmatest: Added 1 threads using dma0chan0" is 171 dmatest: Added 1 threads using dma0chan2 179 dmatest: Added 1 threads using dma0chan1 181 dmatest: Added 1 threads using dma0chan2 191 dmatest: Added 1 threads using dma0chan0 192 dmatest: Added 1 threads using dma0chan3 193 dmatest: Added 1 threads using dma0chan4 [all …]
|
/linux/tools/testing/selftests/powerpc/tm/ |
H A D | tm-vmx-unavail.c | 90 int threads; in tm_vmx_unavail_test() local 98 threads = sysconf(_SC_NPROCESSORS_ONLN) * 4; in tm_vmx_unavail_test() 99 thread = malloc(sizeof(pthread_t)*threads); in tm_vmx_unavail_test() 103 for (uint64_t i = 0; i < threads; i++) in tm_vmx_unavail_test() 106 for (uint64_t i = 0; i < threads; i++) in tm_vmx_unavail_test()
|
/linux/tools/testing/radix-tree/ |
H A D | iteration_check.c | 15 static pthread_t threads[NUM_THREADS]; variable 178 if (pthread_create(&threads[0], NULL, tagged_iteration_fn, NULL)) { in iteration_test() 182 if (pthread_create(&threads[1], NULL, untagged_iteration_fn, NULL)) { in iteration_test() 186 if (pthread_create(&threads[2], NULL, add_entries_fn, NULL)) { in iteration_test() 190 if (pthread_create(&threads[3], NULL, remove_entries_fn, NULL)) { in iteration_test() 194 if (pthread_create(&threads[4], NULL, tag_entries_fn, NULL)) { in iteration_test() 203 if (pthread_join(threads[i], NULL)) { in iteration_test()
|
/linux/tools/testing/selftests/sched_ext/ |
H A D | reload_loop.c | 15 static pthread_t threads[2]; variable 50 err = pthread_create(&threads[0], NULL, do_reload_loop, NULL); in run() 53 err = pthread_create(&threads[1], NULL, do_reload_loop, NULL); in run() 56 SCX_FAIL_IF(pthread_join(threads[0], &ret), "thread 0 failed"); in run() 57 SCX_FAIL_IF(pthread_join(threads[1], &ret), "thread 1 failed"); in run()
|