On Tue, 22 Feb 2022 08:27:31 +0200 Yordan Karadzhov <y.karadz@xxxxxxxxx> wrote: > I have one last question. Do you consider as a valid use case that > the library must support, someone to do a just 'test" without writing > after this, or to "write" without testing first? Actually, that's a very good point. I was thinking that I didn't like the "test" name, and was thinking of having it be: if (tracefs_user_event_enabled(event)) { tracefs_user_event_record(event, ...); } But I think you have a good point. Perhaps we should just have: tracefs_user_event_trace(event, ...); and it do all the work. But it would need to be a macro, that does: #define tracefs_user_event_trace(event, ...) \ do { \ if (tracefs_user_event_enabled(event)) { \ tracefs_user_event_record(event, ##__VA_ARGS); \ } \ } while (0) Because we do not want to have the compiler process the arguments when the event is not enabled. That would be too much overhead. But as a macro, it would work. Thoughts? -- Steve