Re: [PATCH v1] media: staging: tegra-vde: Replace debug messages with trace points

From: Dmitry Osipenko
Date: Tue Jul 24 2018 - 21:20:35 EST


On Wednesday, 25 July 2018 03:37:33 MSK Mauro Carvalho Chehab wrote:
> Em Wed, 25 Jul 2018 01:38:37 +0300
>
> Dmitry Osipenko <digetx@xxxxxxxxx> escreveu:
> > On Wednesday, 25 July 2018 01:06:52 MSK Mauro Carvalho Chehab wrote:
> > > Em Sat, 7 Jul 2018 19:20:49 +0300
> > >
> > > Dmitry Osipenko <digetx@xxxxxxxxx> escreveu:
> > > > Trace points are much more efficient than debug messages for extensive
> > > > tracing and could be conveniently enabled / disabled dynamically,
> > > > hence
> > > > let's replace debug messages with the trace points.
> > >
> > > This patch require some work:
> > >
> > > $ make ARCH=i386 CF=-D__CHECK_ENDIAN__ CONFIG_DEBUG_SECTION_MISMATCH=y
> > > C=1
> > > W=1 CHECK='compile_checks' M=drivers/staging/media
> > >
> > > ./include/linux/slab.h:631:13: error: undefined identifier
> > > '__builtin_mul_overflow' ./include/linux/slab.h:631:13: warning: call
> > > with
> > > no type!
> > > fixdep: error opening file: drivers/staging/media/tegra-vde/trace.h: No
> > > such file or directory
> > >
> > CHECK drivers/staging/media/tegra-vde/tegra-vde.c
> >
> > /bin/sh: compile_checks: command not found
> >
> > Upstream kernel doesn't have "compile_checks" script and I can't find it
> > anywhere else.
>
> This is just a call for smatch/sparse:
>
> #!/bin/bash
> /devel/smatch/smatch -p=kernel $@
> # This is too pedantic and produce lots of false-positives
> #/devel/smatch/smatch --two-passes -- -p=kernel $@
> /devel/sparse/sparse $@
>
> However, the problem here is that you're doing a 64 bits division.
> That causes compilation to break with 32 bits. you need to use
> do_div & friends.

The tegra-vde driver code is fine, it is a known issue with the kernels
checker [0]. Unfortunately the patch for the checker haven't been applied yet.

[0] https://www.spinics.net/lists/kernel/msg2824058.html