On Tue, 14 Jan 2020 12:21:43 -0500 Sean Paul sean@poorly.run wrote:
From: Sean Paul seanpaul@chromium.org
This patch uses a ring_buffer to keep a "flight recorder" (name credit Weston) of DRM logs for a specified set of debug categories. The user writes a bitmask of debug categories to the "trace_mask" node and can read log messages from the "trace" node.
These nodes currently exist in debugfs under the dri directory. I intended on exposing all of this through tracefs originally, but the tracefs entry points are not exposed, so there's no way to create tracefs files from drivers at the moment. I think it would be a worthwhile endeavour, but one requiring more time and conversation to ensure the drm traces fit somewhere sensible.
You may want to rebase these on my tree that renames ring_buffer to trace_buffer. For more information, read this thread:
https://lore.kernel.org/r/20191213153553.GE20583@krava
My tree is currently being tested and when it finishes contingent on no errors found, I'll be pushing it to linux-next.
https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git/comm...
-- Steve
Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: David Airlie airlied@gmail.com Cc: Jani Nikula jani.nikula@linux.intel.com Cc: Joonas Lahtinen joonas.lahtinen@linux.intel.com Cc: Pekka Paalanen ppaalanen@gmail.com Cc: Rob Clark robdclark@gmail.com Cc: Steven Rostedt rostedt@goodmis.org Cc: Thomas Zimmermann tzimmermann@suse.de Cc: Ville Syrjälä ville.syrjala@linux.intel.com Signed-off-by: Sean Paul seanpaul@chromium.org Link: https://patchwork.freedesktop.org/patch/msgid/20191010204823.195540-1-sean@p... #v1 Link: https://lists.freedesktop.org/archives/dri-devel/2019-November/243230.html #v2 Link: https://patchwork.freedesktop.org/patch/msgid/20191212203301.142437-1-sean@p... #v3
Changes in v2:
- Went with a completely different approach:
https://lists.freedesktop.org/archives/dri-devel/2019-November/243230.html
Changes in v3:
- Changed commit message to be a bit less RFC-y
- Make class_drm_category_log an actual trace class
Changes in v4:
- Instead of [ab]using trace events and the system trace buffer, use our own ringbuffer