Lines Matching refs:bts

183 static void bts_update(struct bts_ctx *bts)  in bts_update()  argument
187 struct bts_buffer *buf = perf_get_aux(&bts->handle); in bts_update()
201 perf_aux_output_flag(&bts->handle, in bts_update()
234 struct bts_ctx *bts = this_cpu_ptr(&bts_ctx); in __bts_event_start() local
235 struct bts_buffer *buf = perf_get_aux(&bts->handle); in __bts_event_start()
254 WRITE_ONCE(bts->state, BTS_STATE_ACTIVE); in __bts_event_start()
263 struct bts_ctx *bts = this_cpu_ptr(&bts_ctx); in bts_event_start() local
266 buf = perf_aux_output_begin(&bts->handle, event); in bts_event_start()
270 if (bts_buffer_reset(buf, &bts->handle)) in bts_event_start()
273 bts->ds_back.bts_buffer_base = cpuc->ds->bts_buffer_base; in bts_event_start()
274 bts->ds_back.bts_absolute_maximum = cpuc->ds->bts_absolute_maximum; in bts_event_start()
275 bts->ds_back.bts_interrupt_threshold = cpuc->ds->bts_interrupt_threshold; in bts_event_start()
285 perf_aux_output_end(&bts->handle, 0); in bts_event_start()
293 struct bts_ctx *bts = this_cpu_ptr(&bts_ctx); in __bts_event_stop() local
296 WRITE_ONCE(bts->state, state); in __bts_event_stop()
308 struct bts_ctx *bts = this_cpu_ptr(&bts_ctx); in bts_event_stop() local
310 int state = READ_ONCE(bts->state); in bts_event_stop()
316 buf = perf_get_aux(&bts->handle); in bts_event_stop()
321 bts_update(bts); in bts_event_stop()
325 bts->handle.head = in bts_event_stop()
328 perf_aux_output_end(&bts->handle, in bts_event_stop()
332 cpuc->ds->bts_index = bts->ds_back.bts_buffer_base; in bts_event_stop()
333 cpuc->ds->bts_buffer_base = bts->ds_back.bts_buffer_base; in bts_event_stop()
334 cpuc->ds->bts_absolute_maximum = bts->ds_back.bts_absolute_maximum; in bts_event_stop()
335 cpuc->ds->bts_interrupt_threshold = bts->ds_back.bts_interrupt_threshold; in bts_event_stop()
341 struct bts_ctx *bts = this_cpu_ptr(&bts_ctx); in intel_bts_enable_local() local
342 int state = READ_ONCE(bts->state); in intel_bts_enable_local()
355 if (bts->handle.event) in intel_bts_enable_local()
356 __bts_event_start(bts->handle.event); in intel_bts_enable_local()
361 struct bts_ctx *bts = this_cpu_ptr(&bts_ctx); in intel_bts_disable_local() local
367 if (READ_ONCE(bts->state) != BTS_STATE_ACTIVE) in intel_bts_disable_local()
370 if (bts->handle.event) in intel_bts_disable_local()
371 __bts_event_stop(bts->handle.event, BTS_STATE_INACTIVE); in intel_bts_disable_local()
453 struct bts_ctx *bts = this_cpu_ptr(&bts_ctx); in intel_bts_interrupt() local
454 struct perf_event *event = bts->handle.event; in intel_bts_interrupt()
470 if (READ_ONCE(bts->state) == BTS_STATE_STOPPED) in intel_bts_interrupt()
473 buf = perf_get_aux(&bts->handle); in intel_bts_interrupt()
486 bts_update(bts); in intel_bts_interrupt()
492 perf_aux_output_end(&bts->handle, local_xchg(&buf->data_size, 0)); in intel_bts_interrupt()
494 buf = perf_aux_output_begin(&bts->handle, event); in intel_bts_interrupt()
496 err = bts_buffer_reset(buf, &bts->handle); in intel_bts_interrupt()
499 WRITE_ONCE(bts->state, BTS_STATE_STOPPED); in intel_bts_interrupt()
507 perf_aux_output_end(&bts->handle, 0); in intel_bts_interrupt()
521 struct bts_ctx *bts = this_cpu_ptr(&bts_ctx); in bts_event_add() local
530 if (bts->handle.event) in bts_event_add()
590 if (!boot_cpu_has(X86_FEATURE_DTES64) || !x86_pmu.bts) in bts_init()