On Tue, 9 Jun 2020 11:49:19 -0400 Sean Paul sean@poorly.run wrote:
+/**
- drm_trace_printf - adds an entry to the drm tracefs instance
- @format: printf format of the message to add to the trace
- This function adds a new entry in the drm tracefs instance
- */
+void drm_trace_printf(const char *format, ...) +{
- struct va_format vaf;
- va_list args;
- va_start(args, format);
- vaf.fmt = format;
- vaf.va = &args;
- trace_array_printk(trace_arr, _THIS_IP_, "%pV", &vaf);
- va_end(args);
+}
The only issue I have with this patch is the above. I really dislike the use of trace_array_print(), as that is made to be for debugging and not something that should be in a production kernel.
Ideally, every instance should just pass the data it wants to record, and you add it to a trace event. There's already a drm trace subsystem, how would this be different. Perhaps create a drm_log subsystem, and you only need to have your instance enable it?
I guess I'm still confused to why this is needed over just having trace events? What's special about this case?
-- Steve