Re: [PATCH v3 3/3] [media] videobuf2: add trace events

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

 



Am Montag, den 27.07.2015, 13:12 +0200 schrieb Philipp Zabel:
> Hi Hans,
> 
> Am Sonntag, den 26.07.2015, 13:18 +0200 schrieb Hans Verkuil:
> > Hi Philipp,
> [...]
> > > diff --git a/drivers/media/v4l2-core/videobuf2-core.c b/drivers/media/v4l2-core/videobuf2-core.c
> > > index 93b3154..b866a6b 100644
> > > --- a/drivers/media/v4l2-core/videobuf2-core.c
> > > +++ b/drivers/media/v4l2-core/videobuf2-core.c
> > > @@ -30,6 +30,8 @@
> > >  #include <media/v4l2-common.h>
> > >  #include <media/videobuf2-core.h>
> > > 
> > 
> > Shouldn't there be a #define CREATE_TRACE_POINTS added before the include? That's
> > what is done in v4l2-ioctl.c as well.
> 
> Documentation/trace/tracepoints.txt says
>    "if you use the header in multiple source files,
>     #define CREATE_TRACE_POINTS should appear only in one source file."
> 
> > I updated my kernel on my laptop to the latest media master and without this line it
> > gives me link errors:
> > 
> > ERROR: "__tracepoint_vb2_qbuf" [drivers/media/v4l2-core/videobuf2-core.ko] undefined!
> > ERROR: "__tracepoint_vb2_buf_done" [drivers/media/v4l2-core/videobuf2-core.ko] undefined!
> > ERROR: "__tracepoint_vb2_buf_queue" [drivers/media/v4l2-core/videobuf2-core.ko] undefined!
> > ERROR: "__tracepoint_vb2_dqbuf" [drivers/media/v4l2-core/videobuf2-core.ko] undefined!
> > scripts/Makefile.modpost:90: recipe for target '__modpost' failed
> 
> Since drivers/media/v4l2-core/v4l2-ioctl.c is built with the trace
> points whenever CONFIG_VIDEO_V4L2 is enabled, the symbols will currently
> end up in drivers/media/v4l2-core/v4l2-ioctl.o, but they are not
> exported.
> 
> > I'm not sure why I didn't see this anywhere else, but can you take a look at this?
> 
> I didn't notice because I hadn't built kernels with VIDEO_V4L2 and
> VIDEOBUF2_CORE as modules on x86. I'm not sure why I don't get these
> errors on ARM, but I suppose this issue is a reason to split the vb2
> tracepoints out of include/trace/event/v4l2.h into their own header
> anyway. The vb2 tracepoint implementation should reside in the
> videobuf2-core module.

I tried this yesterday and failed to figure out a satisfactory way to do
it since the vb2 trace point macros reuse the v4l2 enum definitions and
__print_symbolic/flags macros. The alternative would be to just export
the vb2 trace points from videodev.

regards
Philipp

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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