int met_tag_dump_real(unsigned int class_id, const char *name, void *data, unsigned int length) { int ret; if ((dump_data_size + length + sizeof(int)) > dump_buffer_size) { if (options_flag & OPFLAG_OVERWRITE) { dump_overrun_size = dump_data_size; dump_overrun++; memcpy(dump_buffer, &dump_seq_no, sizeof(int)); memcpy(dump_buffer + sizeof(int), data, length); ret = tracing_mark_write(TYPE_DUMP, class_id, name, dump_seq_no++, 0, length + sizeof(int)); dump_data_size = length + sizeof(int); } else { ret = tracing_mark_write(TYPE_DUMP, class_id, name, dump_seq_no++, 0, 0); } } else { memcpy(dump_buffer + dump_data_size, &dump_seq_no, sizeof(int)); memcpy(dump_buffer + dump_data_size + sizeof(int), data, length); ret = tracing_mark_write(TYPE_DUMP, class_id, name, dump_seq_no++, dump_data_size, length + sizeof(int)); dump_data_size += length + sizeof(int); } return ret; }
int met_tag_oneshot_real(unsigned int class_id, const char *name, unsigned int value) { int ret; ret = tracing_mark_write(TYPE_ONESHOT, class_id, name, value, 0, 0); #ifdef BUILD_WITH_MET if (irqs_disabled()) force_sample(NULL); else on_each_cpu(force_sample, NULL, 1); #endif return ret; }
int met_tag_end_real(unsigned int class_id, const char *name) { int ret; #ifdef BUILD_WITH_MET if (irqs_disabled()) { force_sample(NULL); } else { on_each_cpu(force_sample, NULL, 1); } #endif ret = tracing_mark_write(TYPE_END, class_id, name, 0, 0, 0); return ret; }