Thread (4 messages) 4 messages, 2 authors, 2018-10-09

__migrate_disabled symbol not exported for rt kernel > 4.9

From: Jonathan Rajotte-Julien <hidden>
Date: 2018-09-19 02:29:38

Hi,

While building/linking our out-of-tree modules, lttng-modules, against
4.14.69-rt43 we encounter this error:

    WARNING: "__migrate_disabled" [/home/builder/lttng-modules/lttng-modules-2.10.7/lttng-tracer.ko] undefined!

Same problem for other stable rt kernels > 4.9.
Everything work fine against 4.9.115-rt93.

It looks like __migrate_disabled was moved from linux/include/sched.h to
linux/include/preempt.h. No problem there but for a configuration the
inline function was transformed into a function declaration. The symbol for
that function is not currently exported (EXPORT_SYMBOL*).

Should __migrate_disabled be exported when defined in kernel/sched/core.c?

And for personal knowledge:

What is the reason for not using an inline function for the (CONFIG_SMP)
&& (CONFIG_PREEMPT_RT_BASE) configuration?

The commit message introducing __migrate_disabled does not give much information
regarding why it is done differently compared to 4.9-rt kernels.

We will probably end up accessing the migrate_disabled field directly since we
need to support those kernel versions somehow.

Cheers
-- 
Jonathan Rajotte-Julien
EfficiOS
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help