This information is vital for stuck situations where the
RCU Unwinder keeps longjumping away.
struct rcu_unwinder {
struct lock_order locking_stack;
+ const char *file;
+ u32 line;
u32 retry;
u8 fast;
jmp_buf buf;
_i->locking_stack = locking_stack; \
rcu_read_lock(); \
-#define RCU_RETRY(_i) do { if (_i) longjmp(_i->buf, 1); else bug("No rcu retry allowed here"); } while (0)
+#define RCU_RETRY(_i) do { if (_i) { _i->file = __FILE__; _i->line = __LINE__; longjmp(_i->buf, 1); } else bug("No rcu retry allowed here"); } while (0)
#define RCU_RETRY_FAST(_i) do { (_i)->fast++; RCU_RETRY(_i); } while (0)