Lines Matching refs:ctx

44 } ctx;  variable
82 if (!__atomic_fetch_add(&ctx.signal_count, 1, __ATOMIC_RELAXED)) in sigtrap_handler()
83 ctx.first_siginfo = *info; in sigtrap_handler()
84 __atomic_fetch_sub(&ctx.tids_want_signal, syscall(__NR_gettid), __ATOMIC_RELAXED); in sigtrap_handler()
96 __atomic_fetch_add(&ctx.tids_want_signal, tid, __ATOMIC_RELAXED); in test_thread()
97 iter = ctx.iterate_on; /* read */ in test_thread()
100 __atomic_fetch_add(&ctx.tids_want_signal, tid, __ATOMIC_RELAXED); in test_thread()
101 ctx.iterate_on = iter; /* idempotent write */ in test_thread()
104 while (ctx.iterate_on); in test_thread()
120 struct perf_event_attr attr = make_event_attr(false, &ctx.iterate_on, 0); in FIXTURE_SETUP()
124 memset(&ctx, 0, sizeof(ctx)); in FIXTURE_SETUP()
162 EXPECT_EQ(ctx.signal_count, 0); in TEST_F()
163 EXPECT_NE(ctx.tids_want_signal, 0); in TEST_F()
171 EXPECT_EQ(ctx.signal_count, NUM_THREADS); in TEST_F()
172 EXPECT_EQ(ctx.tids_want_signal, 0); in TEST_F()
173 EXPECT_EQ(ctx.first_siginfo.si_addr, &ctx.iterate_on); in TEST_F()
174 EXPECT_EQ(ctx.first_siginfo.si_perf_type, PERF_TYPE_BREAKPOINT); in TEST_F()
175 EXPECT_EQ(ctx.first_siginfo.si_perf_data, TEST_SIG_DATA(&ctx.iterate_on, 0)); in TEST_F()
178 ctx.iterate_on = 0; in TEST_F()
179 EXPECT_EQ(ctx.signal_count, NUM_THREADS + 1); in TEST_F()
185 struct perf_event_attr new_attr = make_event_attr(true, &ctx.iterate_on, 42); in TEST_F()
190 EXPECT_EQ(ctx.signal_count, NUM_THREADS); in TEST_F()
191 EXPECT_EQ(ctx.tids_want_signal, 0); in TEST_F()
192 EXPECT_EQ(ctx.first_siginfo.si_addr, &ctx.iterate_on); in TEST_F()
193 EXPECT_EQ(ctx.first_siginfo.si_perf_type, PERF_TYPE_BREAKPOINT); in TEST_F()
194 EXPECT_EQ(ctx.first_siginfo.si_perf_data, TEST_SIG_DATA(&ctx.iterate_on, 42)); in TEST_F()
197 ctx.iterate_on = 0; in TEST_F()
198 EXPECT_EQ(ctx.signal_count, NUM_THREADS + 1); in TEST_F()
204 ctx.iterate_on = 3000; in TEST_F()
210 EXPECT_EQ(ctx.signal_count, NUM_THREADS * ctx.iterate_on); in TEST_F()
211 EXPECT_EQ(ctx.tids_want_signal, 0); in TEST_F()
212 EXPECT_EQ(ctx.first_siginfo.si_addr, &ctx.iterate_on); in TEST_F()
213 EXPECT_EQ(ctx.first_siginfo.si_perf_type, PERF_TYPE_BREAKPOINT); in TEST_F()
214 EXPECT_EQ(ctx.first_siginfo.si_perf_data, TEST_SIG_DATA(&ctx.iterate_on, 0)); in TEST_F()
222 ctx.iterate_on = -1; in TEST_F()
226 while (__atomic_load_n(&ctx.signal_count, __ATOMIC_RELAXED) < target_count) { in TEST_F()
230 ctx.iterate_on = 0; in TEST_F()
235 EXPECT_EQ(ctx.first_siginfo.si_addr, &ctx.iterate_on); in TEST_F()
236 EXPECT_EQ(ctx.first_siginfo.si_perf_type, PERF_TYPE_BREAKPOINT); in TEST_F()
237 EXPECT_EQ(ctx.first_siginfo.si_perf_data, TEST_SIG_DATA(&ctx.iterate_on, 0)); in TEST_F()