| .. | .. |
|---|
| 43 | 43 | do { \ |
|---|
| 44 | 44 | current->hardirq_context--; \ |
|---|
| 45 | 45 | } while (0) |
|---|
| 46 | | -# define lockdep_softirq_enter() \ |
|---|
| 47 | | -do { \ |
|---|
| 48 | | - current->softirq_context++; \ |
|---|
| 49 | | -} while (0) |
|---|
| 50 | | -# define lockdep_softirq_exit() \ |
|---|
| 51 | | -do { \ |
|---|
| 52 | | - current->softirq_context--; \ |
|---|
| 53 | | -} while (0) |
|---|
| 54 | 46 | #else |
|---|
| 55 | 47 | # define trace_hardirqs_on() do { } while (0) |
|---|
| 56 | 48 | # define trace_hardirqs_off() do { } while (0) |
|---|
| .. | .. |
|---|
| 64 | 56 | # define lockdep_softirq_exit() do { } while (0) |
|---|
| 65 | 57 | #endif |
|---|
| 66 | 58 | |
|---|
| 59 | +#if defined(CONFIG_TRACE_IRQFLAGS) && !defined(CONFIG_PREEMPT_RT_FULL) |
|---|
| 60 | +# define lockdep_softirq_enter() \ |
|---|
| 61 | +do { \ |
|---|
| 62 | + current->softirq_context++; \ |
|---|
| 63 | +} while (0) |
|---|
| 64 | +# define lockdep_softirq_exit() \ |
|---|
| 65 | +do { \ |
|---|
| 66 | + current->softirq_context--; \ |
|---|
| 67 | +} while (0) |
|---|
| 68 | + |
|---|
| 69 | +#else |
|---|
| 70 | +# define lockdep_softirq_enter() do { } while (0) |
|---|
| 71 | +# define lockdep_softirq_exit() do { } while (0) |
|---|
| 72 | +#endif |
|---|
| 73 | + |
|---|
| 67 | 74 | #if defined(CONFIG_IRQSOFF_TRACER) || \ |
|---|
| 68 | 75 | defined(CONFIG_PREEMPT_TRACER) |
|---|
| 69 | 76 | extern void stop_critical_timings(void); |
|---|