trace_state
int prev, next, state, trace_state = 0;
trace_state = (PWRDM_TRACE_STATES_FLAG |
trace_state,
module_param_call(trace_state, param_set_trace_state, param_get_trace_state,
int trace_state;
if (unlikely(bt->trace_state != Blktrace_running &&
if (unlikely(bt->trace_state != Blktrace_running && !blk_tracer))
if (bt->trace_state != Blktrace_setup &&
bt->trace_state != Blktrace_stopped)
bt->trace_state = Blktrace_running;
if (bt->trace_state != Blktrace_running)
bt->trace_state = Blktrace_stopped;
bt->trace_state = Blktrace_setup;
struct synth_event_trace_state trace_state;
ret = synth_event_trace_start(gen_synth_test, &trace_state);
ret = synth_event_add_next_val(777, &trace_state);
ret = synth_event_add_next_val((u64)(long)"slinky", &trace_state);
ret = synth_event_add_next_val(1000000, &trace_state);
ret = synth_event_add_next_val(1000, &trace_state);
ret = synth_event_add_next_val(raw_smp_processor_id(), &trace_state);
ret = synth_event_add_next_val((u64)(long)"thneed_2.01", &trace_state);
ret = synth_event_add_next_val(395, &trace_state);
ret = synth_event_trace_end(&trace_state);
struct synth_event_trace_state trace_state;
ret = synth_event_trace_start(gen_synth_test, &trace_state);
ret = synth_event_add_val("ts_ns", 1000000, &trace_state);
ret = synth_event_add_val("ts_ms", 1000, &trace_state);
ret = synth_event_add_val("cpu", raw_smp_processor_id(), &trace_state);
ret = synth_event_add_val("next_pid_field", 777, &trace_state);
&trace_state);
&trace_state);
ret = synth_event_add_val("my_int_field", 3999, &trace_state);
ret = synth_event_trace_end(&trace_state);
struct synth_event_trace_state *trace_state)
memset(trace_state, '\0', sizeof(*trace_state));
trace_state->disabled = true;
trace_state->event = file->event_call->data;
struct synth_event_trace_state *trace_state,
fields_size = trace_state->event->n_u64 * sizeof(u64);
trace_state->buffer = file->tr->array_buffer.buffer;
ring_buffer_nest_start(trace_state->buffer);
entry_size = sizeof(*trace_state->entry) + fields_size;
trace_state->entry = trace_event_buffer_reserve(&trace_state->fbuffer,
if (!trace_state->entry) {
ring_buffer_nest_end(trace_state->buffer);
__synth_event_trace_end(struct synth_event_trace_state *trace_state)
trace_event_buffer_commit(&trace_state->fbuffer);
ring_buffer_nest_end(trace_state->buffer);
struct synth_event_trace_state *trace_state)
if (!trace_state)
ret = __synth_event_trace_init(file, trace_state);
if (trace_state->event->n_dynamic_fields)
ret = __synth_event_trace_start(file, trace_state, 0);
struct synth_event_trace_state *trace_state)
if (!trace_state) {
if (trace_state->add_next) {
trace_state->add_name = true;
if (trace_state->add_name) {
trace_state->add_next = true;
if (trace_state->disabled)
event = trace_state->event;
if (trace_state->add_name) {
if (trace_state->cur_field >= event->n_fields) {
field = event->fields[trace_state->cur_field++];
entry = trace_state->entry;
trace_state->entry->fields[field->offset].as_u8 = (u8)val;
trace_state->entry->fields[field->offset].as_u16 = (u16)val;
trace_state->entry->fields[field->offset].as_u32 = (u32)val;
trace_state->entry->fields[field->offset].as_u64 = val;
struct synth_event_trace_state *trace_state)
return __synth_event_add_val(NULL, val, trace_state);
struct synth_event_trace_state *trace_state)
return __synth_event_add_val(field_name, val, trace_state);
int synth_event_trace_end(struct synth_event_trace_state *trace_state)
if (!trace_state)
__synth_event_trace_end(trace_state);
if (state == trace_state) {
trace_state = state;
return trace_state == TRACE_ON || monitor_hw;
static int trace_state = TRACE_OFF;