[RFC weston 0/9] weston-debug protocol, API, and tool

Pekka Paalanen ppaalanen at gmail.com
Wed Jun 21 11:23:51 UTC 2017


On Sat,  3 Jun 2017 14:57:02 +0300
Pekka Paalanen <ppaalanen at gmail.com> wrote:

> From: Pekka Paalanen <pq at iki.fi>
> 
> Hi,
> 
> this is a little something I wrote while being stuck off-line in a hot place
> and not having to care about anyone's priorities one bit.
> 
> Debug printing has usually been ad hoc weston_log() or even fprintf() calls,
> often guarded by #ifdefs which require recompiling if you want to enable them.
> Once enabled, you needed to recompile again to disable them. That works for
> developers somewhat, but becomes a PITA when you need a user to get you that
> debug information. I have experienced that particularly with XWM debugs.
> 
> Here's an alternative proposal: let a Wayland client give Weston an open file
> descriptor, and Weston will write the debug prints into it on demand. Of
> course, this is a risky move, and should not usually be allowed - I added a
> command line option to control it.

Hi,

apropos, I have been entertaining a completely different idea: perf probe.

Apparently one can set userspace probing points with 'perf probe' and
then record them, which should be less overhead when not used than the
weston-debug API. But there are many open questions I have not had the
time to chase:

- Can we get an ordered printout of every single hit like we get with
  printf?

- Is it flexible enough to relay all the details one might want, like
  variable values?

- Architecture requirements; would it be not feasible or impossible on
  some CPU architectures? Requiring debug info packages might be too
  much on embedded?

- How to maintain a list of the probe points so it works over several
  source revisions and builds? Using function names, source line
  numbers or addresses is no-go. Would need to mark the probe points in
  the source, but how?

- Overhead when enabled?

- Postprocessing?

- Permissions?

I'm skeptical of this idea being useful, but thought I'd mention it
just in case. OTOH, the weston-debug proposal is relatively easy to
understand and use, and it should be very reliable, debug info or no.

However, for something like the timeline debugging, perf probes could be
extremely useful as probes in Weston could be combined with probes in
the kernel drivers (e.g. GPU jobs and fences).


Thanks,
pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20170621/2caf45b8/attachment.sig>


More information about the wayland-devel mailing list