Lines Matching refs:globals
59 test_globals_t globals = {0}; in main() local
75 parse_arguments(argc, argv, &(globals.tg_args)); in main()
76 atomic_store(&(globals.tg_num_writes_remaining), globals.tg_args.num_writes); in main()
78 threads = malloc(sizeof(pthread_t) * globals.tg_args.n_threads); in main()
84 globals.tg_start_value = counter_read(globals.tg_args.variant); in main()
85 for (size_t i = 0; i < globals.tg_args.n_threads; i++) { in main()
86 ret = pthread_create(threads + i, &pthread_attrs, writer, &globals); in main()
89 for (size_t i = 0; i < globals.tg_args.n_threads; i++) { in main()
95 globals.tg_end_value = counter_read(globals.tg_args.variant); in main()
97 duration = globals.tg_end_time - globals.tg_start_time; in main()
100 writes_per_second = globals.tg_args.num_writes / ((double) duration / kNumNanosecondsInSecond); in main()
101 writes_stored = globals.tg_end_value - globals.tg_start_value; in main()
102 loss = (1.0 - ((double) writes_stored / globals.tg_args.num_writes)) * 100; in main()
112 test_globals_t *globals = arg; in writer() local
116 sysctl_name = get_sysctl_name_for_test_variant(globals->tg_args.variant); in writer()
119 if (atomic_fetch_add(&(globals->tg_threads_ready), 1) == globals->tg_args.n_threads - 1) { in writer()
120 globals->tg_start_time = current_timestamp_ns(); in writer()
121 atomic_store(&globals->tg_test_start, true); in writer()
123 while (!atomic_load(&(globals->tg_test_start))) { in writer()
128 unsigned long long remaining = atomic_fetch_sub(&(globals->tg_num_writes_remaining), value); in writer()
129 if (remaining < kChunkSize || remaining > globals->tg_args.num_writes) { in writer()
140 if (atomic_fetch_sub(&(globals->tg_threads_ready), 1) == 1) { in writer()
141 globals->tg_end_time = current_timestamp_ns(); in writer()