All of lore.kernel.org
 help / color / mirror / Atom feed
* __migrate_disabled symbol not exported for rt kernel > 4.9
@ 2018-09-18 20:55 Jonathan Rajotte-Julien
  2018-10-05 14:23 ` Sebastian Andrzej Siewior
  0 siblings, 1 reply; 4+ messages in thread
From: Jonathan Rajotte-Julien @ 2018-09-18 20:55 UTC (permalink / raw)
  To: bigeasy; +Cc: linux-rt-users, skrishnakar

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: __migrate_disabled symbol not exported for rt kernel > 4.9
  2018-09-18 20:55 __migrate_disabled symbol not exported for rt kernel > 4.9 Jonathan Rajotte-Julien
@ 2018-10-05 14:23 ` Sebastian Andrzej Siewior
  2018-10-09 15:27   ` Jonathan Rajotte-Julien
  0 siblings, 1 reply; 4+ messages in thread
From: Sebastian Andrzej Siewior @ 2018-10-05 14:23 UTC (permalink / raw)
  To: Jonathan Rajotte-Julien; +Cc: linux-rt-users, skrishnakar

On 2018-09-18 16:55:14 [-0400], Jonathan Rajotte-Julien wrote:
> Hi,
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?

If you need it, I guess so. In order to inline it again, it should be
moved back to sched.h…

> And for personal knowledge:
> 
> What is the reason for not using an inline function for the (CONFIG_SMP)
> && (CONFIG_PREEMPT_RT_BASE) configuration?

we should not include sched.h (for struct task_struct) into preempt.h

> 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.

Do you want a EXPORT_SYMBOL_GPL for that or are you good?

> Cheers

Sebastian

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: __migrate_disabled symbol not exported for rt kernel > 4.9
  2018-10-05 14:23 ` Sebastian Andrzej Siewior
@ 2018-10-09 15:27   ` Jonathan Rajotte-Julien
  2018-10-09 15:52     ` Sebastian Andrzej Siewior
  0 siblings, 1 reply; 4+ messages in thread
From: Jonathan Rajotte-Julien @ 2018-10-09 15:27 UTC (permalink / raw)
  To: Sebastian Andrzej Siewior; +Cc: linux-rt-users, skrishnakar

Hi,

On Fri, Oct 05, 2018 at 04:23:25PM +0200, Sebastian Andrzej Siewior wrote:
> > 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?
> 
> If you need it, I guess so. In order to inline it again, it should be
> moved back to sched.h…

The inline nature of it, for us, is less pertinent, the symbol presence is more
important.

> 
> > And for personal knowledge:
> > 
> > What is the reason for not using an inline function for the (CONFIG_SMP)
> > && (CONFIG_PREEMPT_RT_BASE) configuration?
> 
> we should not include sched.h (for struct task_struct) into preempt.h
> 
> > 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.
> 
> Do you want a EXPORT_SYMBOL_GPL for that or are you good?

Yes EXPORT_SYMBOL_GPL would do the trick.

Thanks

-- 
Jonathan Rajotte-Julien
EfficiOS

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: __migrate_disabled symbol not exported for rt kernel > 4.9
  2018-10-09 15:27   ` Jonathan Rajotte-Julien
@ 2018-10-09 15:52     ` Sebastian Andrzej Siewior
  0 siblings, 0 replies; 4+ messages in thread
From: Sebastian Andrzej Siewior @ 2018-10-09 15:52 UTC (permalink / raw)
  To: Jonathan Rajotte-Julien; +Cc: linux-rt-users, skrishnakar

On 2018-10-09 11:27:23 [-0400], Jonathan Rajotte-Julien wrote:
> Hi,
Hi,

> The inline nature of it, for us, is less pertinent, the symbol presence is more
> important.

Okay. Let me add that export for the upcoming v4.18 release.

Sebastian

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-10-09 23:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-18 20:55 __migrate_disabled symbol not exported for rt kernel > 4.9 Jonathan Rajotte-Julien
2018-10-05 14:23 ` Sebastian Andrzej Siewior
2018-10-09 15:27   ` Jonathan Rajotte-Julien
2018-10-09 15:52     ` Sebastian Andrzej Siewior

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.