Messages in this thread | | | From | John Stultz <> | Date | Tue, 14 Apr 2020 19:20:01 -0700 | Subject | On trace_*_rcuidle functions in modules |
| |
Hey folks, So recently I was looking at converting some drivers to be loadable modules instead of built-in only, and one of my patches just landed in -next and started getting build error reports.
It ends up, recently in the merge window, the driver I was converting to module switched a trace_*() function to trace_*_rcuidle() to fix a bug. Now when building as a module, if tracing is configured on, it can't seem to find the trace_*_rcuidle() symbol.
This is because, as you are aware, we don't declare trace_*_rcuidle functions in modules - and haven't for quite some time: https://lore.kernel.org/lkml/20120905062306.GA14756@leaf/
I wanted to better understand the background rationale for that patch, to understand if not exporting the rcu_idle_exit and rcu_idle_enter, calls was because they weren't used or if it was a more intentional decision to avoid allowing modules to use them.
Would it be reasonable to revisit that patch? Or is there some recommended alternative solution?
thanks -john
| |