Hi Peter, On Wed, Oct 4, 2017 at 9:04 AM, Peter Zijlstra <pet...@infradead.org> wrote: > On Fri, Sep 29, 2017 at 02:22:45PM -0700, Joel Fernandes wrote: >> +++ b/kernel/trace/trace_irqsoff.c > >> EXPORT_SYMBOL(trace_hardirqs_on); >> EXPORT_SYMBOL(trace_hardirqs_off); >> EXPORT_SYMBOL(trace_hardirqs_on_caller); >> EXPORT_SYMBOL(trace_hardirqs_off_caller); > > Steve, how does this compiler with lockdep enabled? Because: > > kernel/locking/lockdep.c:EXPORT_SYMBOL(trace_hardirqs_on_caller); > kernel/locking/lockdep.c:EXPORT_SYMBOL(trace_hardirqs_on); > kernel/locking/lockdep.c:EXPORT_SYMBOL(trace_hardirqs_off_caller); > kernel/locking/lockdep.c:EXPORT_SYMBOL(trace_hardirqs_off); >
These functions are defined in lockdep.c only with CONFIG_PROVE_LOCKING, and in trace_irqsoff.c only for !CONFIG_PROVE_LOCKING: http://elixir.free-electrons.com/linux/latest/source/kernel/trace/trace_irqsoff.c#L463 I have tested these combinations and it compiles fine. thanks, - Joel