[lttng-dev] Error in lttng-modules after pulling in commit 'writeback: Fix sync livelock due to b_dirty_time processing'

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Tue Oct 20 10:33:57 EDT 2020


----- On Oct 20, 2020, at 2:59 AM, lttng-dev <lttng-dev at lists.lttng.org> wrote: 

> Hi All,

> I’m facing compilation error in build after pulling in the stable kernel
> LTS(4.14.y) commit - [
> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-4.14.y&id=77322edb99f0176ec67a300b9f263719ba391b89
> |
> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-4.14.y&id=77322edb99f0176ec67a300b9f263719ba391b89
> ]

Hi, 

lttng-modules tracks the stable kernels through their versions (e.g. 4.14.165). There are ifdefs in the 
lttng-modules code to choose the right instrumentation implementation based on the kernel version it is 
built against. 

Of course, if you don't follow the versioning scheme of the stable kernels and cherry-pick random commits, 
there is little lttng-modules can do to track those changes. We have worked with Ubuntu, Redhat and Debian 
distributions to ensure their kernels are versioned in a way which is also detected by lttng-modules, in the 
situations where the kernels diverge from upstream. If you want to create your own kernel which also 
differs from all other existing kernels out there, you will also need to take care of versioning it and adapt 
lttng-modules accordingly. 

Thanks, 

Mathieu 

> I tried this solution - [
> https://github.com/lttng/lttng-modules/commit/7318a1e88c8097733f5a05529069e4e03c142cae
> |
> https://github.com/lttng/lttng-modules/commit/7318a1e88c8097733f5a05529069e4e03c142cae
> ]

> But this also didn’t resolve my problem.

>| In file included from
>| /home/snaaz/elm/8up/main/build_zcu/tmp/work/zcu102_zynqmp_mel-mel-linux/lttng-modules/2.10.9-r0/lttng-modules-2.10.9/probes/../probes/define_trace.h
> | 💯 0,

>| from
> | /home/snaaz/elm/8up/main/build_zcu/tmp/work/zcu102_zynqmp_mel-mel-linux/lttng-modules/2.10.9-r0/lttng-modules-2.10.9/probes/../instrumentation/events/lttng-module/writeback.h:735,

>| from
> | /home/snaaz/elm/8up/main/build_zcu/tmp/work/zcu102_zynqmp_mel-mel-linux/lttng-modules/2.10.9-r0/lttng-modules-2.10.9/probes/lttng-probe-writeback.c:51:

>| /home/snaaz/elm/8up/main/build_zcu/tmp/work/zcu102_zynqmp_mel-mel-linux/lttng-modules/2.10.9-r0/lttng-modules-2.10.9/probes/../probes/lttng-tracepoint-event-impl.h:143:6:
> | error: conflicting types for 'trace_writeback_queue_io'

> | void trace_##_name(_proto);

> | ^

>| /home/snaaz/elm/8up/main/build_zcu/tmp/work/zcu102_zynqmp_mel-mel-linux/lttng-modules/2.10.9-r0/lttng-modules-2.10.9/probes/../probes/lttng-tracepoint-event-impl.h:55:2:
> | note: in expansion of macro 'LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP'

> | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))

> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

>| /home/snaaz/elm/8up/main/build_zcu/tmp/work/zcu102_zynqmp_mel-mel-linux/lttng-modules/2.10.9-r0/lttng-modules-2.10.9/probes/../probes/lttng-tracepoint-event-impl.h:97:2:
> | note: in expansion of macro 'LTTNG_TRACEPOINT_EVENT_MAP'

> | LTTNG_TRACEPOINT_EVENT_MAP(name, name, \

> | ^~~~~~~~~~~~~~~~~~~~~~~~~~

>| /home/snaaz/elm/8up/main/build_zcu/tmp/work/zcu102_zynqmp_mel-mel-linux/lttng-modules/2.10.9-r0/lttng-modules-2.10.9/probes/../instrumentation/events/lttng-module/writeback.h:375:1:
> | note: in expansion of macro 'LTTNG_TRACEPOINT_EVENT'

> | LTTNG_TRACEPOINT_EVENT(writeback_queue_io,

> | ^~~~~~~~~~~~~~~~~~~~~~

>| In file included from
> | /home/snaaz/elm/8up/main/build_zcu/tmp/work-shared/zcu102-zynqmp-mel/kernel-source/include/trace/events/writeback.h:8:0,

>| from
> | /home/snaaz/elm/8up/main/build_zcu/tmp/work/zcu102_zynqmp_mel-mel-linux/lttng-modules/2.10.9-r0/lttng-modules-2.10.9/probes/lttng-probe-writeback.c:33:

>| /home/snaaz/elm/8up/main/build_zcu/tmp/work-shared/zcu102-zynqmp-mel/kernel-source/include/linux/tracepoint.h:187:21:
> | note: previous definition of 'trace_writeback_queue_io' was here

> | static inline void trace_##name(proto) \

> | ^

>| /home/snaaz/elm/8up/main/build_zcu/tmp/work-shared/zcu102-zynqmp-mel/kernel-source/include/linux/tracepoint.h:352:2:
> | note: in expansion of macro '__DECLARE_TRACE'

> | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \

> | ^~~~~~~~~~~~~~~

>| /home/snaaz/elm/8up/main/build_zcu/tmp/work-shared/zcu102-zynqmp-mel/kernel-source/include/linux/tracepoint.h:488:2:
> | note: in expansion of macro 'DECLARE_TRACE'

> | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))

> | ^~~~~~~~~~~~~

>| /home/snaaz/elm/8up/main/build_zcu/tmp/work-shared/zcu102-zynqmp-mel/kernel-source/include/trace/events/writeback.h:361:1:
> | note: in expansion of macro 'TRACE_EVENT'

> | TRACE_EVENT(writeback_queue_io,

> Kindly look into it and do the needful. Thanks!

> Regards,

> Syeda Shagufta Naaz

> Software Development Engineer | Mentor Embedded Linux

> Mentor , A Siemens Business

> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

-- 
Mathieu Desnoyers 
EfficiOS Inc. 
http://www.efficios.com 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.lttng.org/pipermail/lttng-dev/attachments/20201020/e419d206/attachment-0001.htm>


More information about the lttng-dev mailing list