.. | .. |
---|
175 | 175 | * The reason for this is to handle the "void" prototype. If a tracepoint |
---|
176 | 176 | * has a "void" prototype, then it is invalid to declare a function |
---|
177 | 177 | * as "(void *, void)". |
---|
| 178 | + * |
---|
| 179 | + * IRQ pipeline: we may not depend on RCU for data which may be |
---|
| 180 | + * manipulated from the out-of-band stage, so rcuidle has to be false |
---|
| 181 | + * if running_oob(). |
---|
178 | 182 | */ |
---|
179 | 183 | #define __DO_TRACE(name, proto, args, cond, rcuidle) \ |
---|
180 | 184 | do { \ |
---|
.. | .. |
---|
223 | 227 | __DO_TRACE(name, \ |
---|
224 | 228 | TP_PROTO(data_proto), \ |
---|
225 | 229 | TP_ARGS(data_args), \ |
---|
226 | | - TP_CONDITION(cond), 1); \ |
---|
| 230 | + TP_CONDITION(cond), running_inband()); \ |
---|
227 | 231 | } |
---|
228 | 232 | #else |
---|
229 | 233 | #define __DECLARE_TRACE_RCU(name, proto, args, cond, data_proto, data_args) |
---|