Re: Boot failure on emev2/kzm9d (was: Re: [PATCH v2 11/11] mm/slab: lockless decision to grow cache)

From: Geert Uytterhoeven
Date: Thu Jun 30 2016 - 13:55:18 EST


Hi Paul,

On Thu, Jun 30, 2016 at 6:52 PM, Paul E. McKenney
<paulmck@xxxxxxxxxxxxxxxxxx> wrote:
> On Thu, Jun 30, 2016 at 05:53:42PM +0200, Geert Uytterhoeven wrote:
>> +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. */
>> +}

>>
>> 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@xxxxxxxxxxxxxx

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