trace: multiple ring buffers

From: Hiraku TOYOOKA
Date: Tue Dec 20 2011 - 04:29:04 EST


Hello, Steven,
I'm researching RAS features for real-time systems.

I'm interested in the multiple ring buffer support on ftrace because of
following reasons.

* To preserve particular events such as error or fault over a long time. These
events are useful for failure analysis. But these events could be lost when
other trace events are generated in large quantities in one buffer. If there is
only one buffer, we have to prepare one big buffer so that the particular events
are not overwritten by other events. It wastes memory as a result.

* To use the same trace events for different purposes. For example, I'd like to
collect trace events and detect performance degradation (using sched_switch
event, etc.), while running flight recorder for failure analysis.

Multiple buffer support makes these really easy. I'm sure that other users wish
to use it. Of course, it will introduce some complexities to ftrace code.

So, I'd like to implement following the features on ftrace.

* A mechanism to increase buffers on demand
* A mechanism to change destination buffer(s) of each trace event via debugfs

I have heard from Masami that you have some ideas of multiple buffers. If so,
could you tell me the ideas? I'd like to cooperate with you to develop multiple
buffers.

Best regards,
Hiraku Toyooka


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/