Re: [RFC PATCH v2] media: renesas: vsp1: Add VSPD underrun detection & tracing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

Quoting Laurent Pinchart (2022-06-28 21:11:51)
> Hi Geert,
> 
> On Tue, Jun 28, 2022 at 10:08:28PM +0200, Geert Uytterhoeven wrote:
> > On Tue, Jun 28, 2022 at 9:53 PM Laurent Pinchart wrote:
> > > On Tue, Jun 28, 2022 at 09:05:34PM +0200, Eugeniu Rosca wrote:
> > > > On So, Jun 26, 2022 at 09:46:42 +0300, Laurent Pinchart wrote:
> > > > > On Tue, May 03, 2022 at 03:20:10PM +0200, Eugeniu Rosca wrote:
> > > > > >
> > > > > > Troubleshooting the above without the right tools becomes a nightmare.
> > > > >
> > > > > Having spent lots of time working in userspace recently, I can't agree
> > > > > more.
> > > >
> > > > Thanks for the feedback and for endorsing the utility of this patch.
> > > >
> > > > > > +static int vspd_underrun[VSPD_MAX_NUM];
> > > > > > +module_param_array(vspd_underrun, int, NULL, 0444);
> > > > > > +MODULE_PARM_DESC(vspd_underrun, "VSPD underrun counter");
> > > > >
> > > > > Module parameters are not meant to convey information back to userspace.
> > > > > This should be done through either a debugfs file or a sysfs file. Given
> > > > > the debugging nature of this feature, I'd recommend the former.
> > > >
> > > > It is a bit unfortunate that we have to go the debugFS route, since I
> > > > recall at least one Customer in the past, who disabled the debugFS in
> > > > the end product, since it was the only available means to meet the
> > > > stringent automotive requirements (w.r.t. KNL binary size). Anybody
> > > > who has no choice but to disable debugFS will consequently not be able
> > > > to take advantage of this patch in the production/release software.
> > >
> > > debugfs isn't meant to be enabled in production, so if you need a
> > > solution for production environment, it's not an option indeed.

I have an out of tree patch set that I've kept around since I started
working on VSP1 that adds a debugfs entry for VSPd so that I can extract
information/stats when debugging.

Seems like I should probably have shared that in the past, so I'll do so
now.

https://git.kernel.org/pub/scm/linux/kernel/git/kbingham/rcar.git/
Branch: kbingham/vsp1/debugfs


I'll post to the linux-media mailing list too separately.

Certainly for the patches I have, shouldn't be in sysfs they provide
debug of registers and decoding and aren't expected to be an ABI.

I also added an underrun interrupt warning, but I think your
implementation keeping a count is valid too, though anytime I've seen an
underrun - that's been the 'end' - and the whole device has stalled.

Have you actually seen it occur, and continue?


> > > > If there is no alternative, then for sure I can go this way.
> > > >
> > > > However, before submitting PATCH v3, would you consider SYSFS viable
> > > > too, if keeping the module param is totally unacceptable?
> > > >
> > > > I was hoping to keep the number of external dependencies to the bare
> > > > minimum, hence the initial choice of module param. Looking forward to
> > > > your final suggestion/preference.
> > >
> > > sysfs would be my next recommendation. I don't think a Linux system can
> > > meaningfully run without sysfs, so it shouldn't be an issue
> > > dependency-wise.
> > 
> > Indeed, you can add a device attribute.
> > But as that is not a debug feature, the attribute must be documented,
> > and becomes ABI.
> 
> Thanks for the comment, that's correct

If we end up with a sysfs interface, I might like to see other frame
counters added too I think. And that's my only worry about using sysfs
for this ... it would become the defacto place to add debug info, rather
than 'debugfs'.

Not a direct objection, but a worry. But perhaps exposing frame counters
and basic device stats through sysfs is a win anyway.

--
Kieran

> -- 
> Regards,
> 
> Laurent Pinchart




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux