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

Reply via email to