Messages in this thread |  | | | Date | Mon, 6 Jun 2011 11:37:09 -0700 | | From | "Paul E. McKenney" <> | | Subject | Re: [1/4] rcu: Detect uses of rcu read side in extended quiescent states |
| |
On Mon, Jun 06, 2011 at 08:20:54PM +0200, Frederic Weisbecker wrote: > On Mon, Jun 06, 2011 at 11:10:21AM -0700, Paul E. McKenney wrote: > > On Sun, Jun 05, 2011 at 10:44:33PM -0500, Milton Miller wrote: > > > On Mon, 06 Jun 2011 about 03:10:55 -0000, Frederic Weisbecker wrote: > > > > @@ -3994,8 +3995,13 @@ void lockdep_rcu_dereference(const char *file, const int line) > > > > printk("\n===================================================\n"); > > > > printk( "[ INFO: suspicious rcu_dereference_check() usage. ]\n"); > > > > printk( "---------------------------------------------------\n"); > > > > - printk("%s:%d invoked rcu_dereference_check() without protection!\n", > > > > - file, line); > > > > + printk("%s:%d invoked rcu_dereference_check() ", file, line); > > > > + > > > > + if (type == RCU_WARN_UNPROTECTED) > > > > + printk("without protection!\n"); > > > > + else if (type == RCU_WARN_EXT_QS) > > > > + printk("while in RCU extended quiescent state!\n"); > > > > + > > > > printk("\nother info that might help us debug this:\n\n"); > > > > printk("\nrcu_scheduler_active = %d, debug_locks = %d\n", rcu_scheduler_active, debug_locks); > > > > lockdep_print_held_locks(curr); > > > > > > Can we keep the above in one printk? That way the printing is > > > guaranteed to come out on one line. Probably the easiest way would > > > be add char *why = "" then assign a string based on the current > > > conditions. Do all of that before the first printk which gets the > > > a %s added. > > > > I have the following queued the -rcu tree which does add the string. > > > > Frederic, would it be possible to base on this patch? > > > > Thanx, Paul > > No problem. Will respin soon.
Thank you!
> What's the branch in your tree? rcu/next ?
That is the one!
Thanx, Paul
|  |