Lines Matching full:fields

31 	C(TOO_MANY_FIELDS,	"Too many fields"),		\
123 union trace_synth_field fields[]; member
129 int offset = offsetof(typeof(trace), fields); in synth_event_define_fields()
137 size = event->fields[i]->size; in synth_event_define_fields()
138 is_signed = event->fields[i]->is_signed; in synth_event_define_fields()
139 type = event->fields[i]->type; in synth_event_define_fields()
140 name = event->fields[i]->name; in synth_event_define_fields()
146 event->fields[i]->offset = n_u64; in synth_event_define_fields()
148 if (event->fields[i]->is_string && !event->fields[i]->is_dynamic) { in synth_event_define_fields()
359 fmt = synth_field_fmt(se->fields[i]->type); in print_synth_event()
368 if (se->fields[i]->is_string) { in print_synth_event()
369 if (se->fields[i]->is_dynamic) { in print_synth_event()
370 union trace_synth_field *data = &entry->fields[n_u64]; in print_synth_event()
372 trace_seq_printf(s, print_fmt, se->fields[i]->name, in print_synth_event()
377 trace_seq_printf(s, print_fmt, se->fields[i]->name, in print_synth_event()
379 (char *)&entry->fields[n_u64].as_u64, in print_synth_event()
383 } else if (se->fields[i]->is_stack) { in print_synth_event()
384 union trace_synth_field *data = &entry->fields[n_u64]; in print_synth_event()
387 trace_seq_printf(s, "%s=STACK:\n", se->fields[i]->name); in print_synth_event()
397 se->fields[i]->name, in print_synth_event()
398 se->fields[i]->size, in print_synth_event()
399 &entry->fields[n_u64], in print_synth_event()
402 if (strcmp(se->fields[i]->type, "gfp_t") == 0) { in print_synth_event()
405 entry->fields[n_u64].as_u64, in print_synth_event()
434 union trace_synth_field *data = &entry->fields[*n_u64]; in trace_string()
437 data->as_dynamic.offset = struct_size(entry, fields, event->n_u64) + data_size; in trace_string()
440 ret = fetch_store_string((unsigned long)str_val, &entry->fields[*n_u64], entry); in trace_string()
444 str_field = (char *)&entry->fields[*n_u64].as_u64; in trace_string()
468 union trace_synth_field *data = &entry->fields[*n_u64]; in trace_stack()
473 data_offset = struct_size(entry, fields, event->n_u64); in trace_stack()
548 if (event->fields[i]->is_string) { in trace_event_raw_event_synth()
552 event->fields[i]->is_dynamic, in trace_event_raw_event_synth()
555 } else if (event->fields[i]->is_stack) { in trace_event_raw_event_synth()
562 struct synth_field *field = event->fields[i]; in trace_event_raw_event_synth()
567 entry->fields[n_u64].as_u8 = (u8)val; in trace_event_raw_event_synth()
571 entry->fields[n_u64].as_u16 = (u16)val; in trace_event_raw_event_synth()
575 entry->fields[n_u64].as_u32 = (u32)val; in trace_event_raw_event_synth()
579 entry->fields[n_u64].as_u64 = val; in trace_event_raw_event_synth()
611 fmt = synth_field_fmt(event->fields[i]->type); in __set_synth_event_print_fmt()
613 event->fields[i]->name, fmt, in __set_synth_event_print_fmt()
619 if (event->fields[i]->is_string && in __set_synth_event_print_fmt()
620 event->fields[i]->is_dynamic) in __set_synth_event_print_fmt()
622 ", __get_str(%s)", event->fields[i]->name); in __set_synth_event_print_fmt()
623 else if (event->fields[i]->is_stack) in __set_synth_event_print_fmt()
625 ", __get_stacktrace(%s)", event->fields[i]->name); in __set_synth_event_print_fmt()
628 ", REC->%s", event->fields[i]->name); in __set_synth_event_print_fmt()
905 INIT_LIST_HEAD(&call->class->fields); in register_synth_event()
956 free_synth_field(event->fields[i]); in free_synth_event()
958 kfree(event->fields); in free_synth_event()
968 struct synth_field **fields) in alloc_synth_event() argument
986 event->fields = kcalloc(n_fields, sizeof(*event->fields), GFP_KERNEL); in alloc_synth_event()
987 if (!event->fields) { in alloc_synth_event()
994 if (fields[i]->is_dynamic) in alloc_synth_event()
1011 fields[i]->field_pos = i; in alloc_synth_event()
1012 event->fields[i] = fields[i]; in alloc_synth_event()
1014 if (fields[i]->is_dynamic) in alloc_synth_event()
1015 event->dynamic_fields[j++] = fields[i]; in alloc_synth_event()
1044 * the same order the fields are added.
1088 * ordering is in the same order the fields are added.
1122 * synth_event_add_fields - Add multiple fields to a synthetic event cmd
1124 * @fields: An array of type/name field descriptions
1125 * @n_fields: The number of field descriptions contained in the fields array
1127 * Add a new set of fields to a synthetic event cmd object. The event
1128 * fields that will be defined for the event should be passed in as an
1131 * ordering given in the fields array.
1139 struct synth_field_desc *fields, in synth_event_add_fields() argument
1146 if (fields[i].type == NULL || fields[i].name == NULL) { in synth_event_add_fields()
1151 ret = synth_event_add_field(cmd, fields[i].type, fields[i].name); in synth_event_add_fields()
1177 * synth_event_add_fields() can be used to add more fields following
1238 * @fields: An array of type/name field descriptions
1239 * @n_fields: The number of field descriptions contained in the fields array
1245 * synth_event_add_fields() can be used to add more fields following
1248 * The event fields that will be defined for the event should be
1251 * retain the ordering given in the fields array.
1260 struct synth_field_desc *fields, in synth_event_gen_cmd_array_start() argument
1283 if (fields[i].type == NULL || fields[i].name == NULL) in synth_event_gen_cmd_array_start()
1286 ret = synth_event_add_field(cmd, fields[i].type, fields[i].name); in synth_event_gen_cmd_array_start()
1298 struct synth_field *field, *fields[SYNTH_FIELDS_MAX]; in __create_synth_event() local
1372 * means we have multiple fields between in __create_synth_event()
1388 fields[n_fields++] = field; in __create_synth_event()
1408 event = alloc_synth_event(name, n_fields, fields); in __create_synth_event()
1429 free_synth_field(fields[i]); in __create_synth_event()
1437 * @fields: An array of type/name field descriptions
1438 * @n_fields: The number of field descriptions contained in the fields array
1442 * trace/events/synthetic/ directory. The event fields that will be
1446 * fields array.
1458 int synth_event_create(const char *name, struct synth_field_desc *fields, in synth_event_create() argument
1472 fields, n_fields); in synth_event_create()
1578 char *name = NULL, *fields, *p; in create_or_delete_synth_event() local
1609 fields = skip_spaces(p); in create_or_delete_synth_event()
1611 ret = __create_synth_event(name, fields); in create_or_delete_synth_event()
1730 * must be in the same order as the synthetic event fields.
1758 if (state.event->fields[i]->is_string && in synth_event_trace()
1759 state.event->fields[i]->is_dynamic) { in synth_event_trace()
1786 if (state.event->fields[i]->is_string) { in synth_event_trace()
1790 state.event->fields[i]->is_dynamic, in synth_event_trace()
1794 struct synth_field *field = state.event->fields[i]; in synth_event_trace()
1798 state.entry->fields[n_u64].as_u8 = (u8)val; in synth_event_trace()
1802 state.entry->fields[n_u64].as_u16 = (u16)val; in synth_event_trace()
1806 state.entry->fields[n_u64].as_u32 = (u32)val; in synth_event_trace()
1810 state.entry->fields[n_u64].as_u64 = val; in synth_event_trace()
1834 * must be in the same order as the synthetic event fields.
1878 if (state.event->fields[i]->is_string) { in synth_event_trace_array()
1882 state.event->fields[i]->is_dynamic, in synth_event_trace_array()
1886 struct synth_field *field = state.event->fields[i]; in synth_event_trace_array()
1891 state.entry->fields[n_u64].as_u8 = (u8)val; in synth_event_trace_array()
1895 state.entry->fields[n_u64].as_u16 = (u16)val; in synth_event_trace_array()
1899 state.entry->fields[n_u64].as_u32 = (u32)val; in synth_event_trace_array()
1903 state.entry->fields[n_u64].as_u64 = val; in synth_event_trace_array()
1938 * Note also that for a given event trace, all fields must be added
2002 field = event->fields[i]; in __synth_event_add_val()
2015 field = event->fields[trace_state->cur_field++]; in __synth_event_add_val()
2033 str_field = (char *)&entry->fields[field->offset]; in __synth_event_add_val()
2038 trace_state->entry->fields[field->offset].as_u8 = (u8)val; in __synth_event_add_val()
2042 trace_state->entry->fields[field->offset].as_u16 = (u16)val; in __synth_event_add_val()
2046 trace_state->entry->fields[field->offset].as_u32 = (u32)val; in __synth_event_add_val()
2050 trace_state->entry->fields[field->offset].as_u64 = val; in __synth_event_add_val()
2069 * This function assumes all the fields in an event are to be set one
2071 * each field, in the order of the fields in the event, until all
2072 * fields have been set. If you'd rather set each field individually
2161 char *fields, *p; in create_synth_event() local
2184 fields = skip_spaces(p); in create_synth_event()
2208 ret = __create_synth_event(name, fields); in create_synth_event()
2244 field = event->fields[i]; in __synth_event_show()