Re: [PATCH v2 0/4] Add trace events for SD registers.

From: Ulf Hansson
Date: Mon Apr 29 2019 - 05:57:42 EST


On Wed, 24 Apr 2019 at 17:31, Raul Rangel <rrangel@xxxxxxxxxxxx> wrote:
>
> On Tue, Apr 23, 2019 at 08:29:15AM +0200, Ulf Hansson wrote:
> > On Tue, 16 Apr 2019 at 20:33, Raul E Rangel <rrangel@xxxxxxxxxxxx> wrote:
> > >
> > > I am not able to make a single event class for all these registers. They
> > > all have different struct sizes and different printf formats.
> > >
> > > Thanks for the reviews!
> > >
> > > Changes in v2:
> > > - Made trace_sd_scr print out flags.
> > > - Add BUILD_BUG_ON to make sure tracing stays in sync with structs.
> > > - memcpy using sizeof(__entry->raw)
> > >
> > > Raul E Rangel (4):
> > > mmc: core: Add trace event for SD SCR response
> > > mmc: core: Add trace event for SD SSR response
> > > mmc: core: Add trace event for SD OCR response
> > > mmc: core: Add trace event for CSD response
> > >
> > > drivers/mmc/core/mmc.c | 4 +
> > > drivers/mmc/core/sd.c | 10 ++
> > > drivers/mmc/core/sd_ops.c | 6 ++
> > > include/trace/events/mmc.h | 204 +++++++++++++++++++++++++++++++++++++
> > > 4 files changed, 224 insertions(+)
> > >
> > > --
> > > 2.21.0.392.gf8f6787159e-goog
> > >
> >
> > Why do you need this? We already have these card registers reflected
> > though sysfs files, isn't that sufficient?
> >
> I was not actually aware that the registers were exposed via sysfs. I
> was debugging a problem where the host controller was returning all
> zeros when reading from the card. I wasn't aware that it was returning
> all zeros until I added tracing. It made it quite easy to diagnose the
> problem by just diffing the two traces.

This sounds like a quite an unusual problem, and I don't think having
the buffers printed via tracing is worth it.

Moreover, we already have tracing per command/request (but don't print
the buffers), that should cover most of error cases during init, don't
you think?

[...]

Kind regards
Uffe