Hi Paul,
On Thu, Jun 30, 2016 at 6:52 PM, Paul E. McKenney
[off-list ref] wrote:
On Thu, Jun 30, 2016 at 05:53:42PM +0200, Geert Uytterhoeven wrote:
quoted
+void rcu_dump_rcu_sched_tree(void)
+{
+ struct rcu_head rh;
+ unsigned long flags;
+
+ rcu_dump_rcu_node_tree(&rcu_sched_state); /* Initial state. */
+ local_irq_save(flags);
+ // call_rcu(&rh, do_nothing_cb);
+ local_irq_restore(flags);
+ // schedule_timeout_uninterruptible(5 * HZ); /* Or whatever delay. */
+ rcu_dump_rcu_node_tree(&rcu_sched_state); /* GP state. */
+ //synchronize_sched(); /* Probably hangs. */
+ //rcu_barrier(); /* Drop RCU's references to rh before return. */
+}
quoted
When enabling any of the 4 commented-out lines in rcu_dump_rcu_sched_tree(),
it will lock up.
OK, but that includes schedule_timeout_uninterruptible(5 * HZ), right?
Yes it does.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds