[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#688711: [3.4.4 -> 3.5 regression] fails to find root device ("Unable to find LVM volume data/root")



# 3.6-rc7
tags 688711 + fixed-upstream
quit

Jonathan Nieder wrote:
> Jonathan Nieder wrote:

>> 	[     1.949115]  sda: sda1 sda2 sda3 < sda5 >
>> 	[     1.949751] sd 0:0:0:0: [sda] Attached SCSI disk
>> 	  Volume group "data" not found
> [...]
>>                                           Bisects to v3.5-rc1~164
> [...]
>>          I'm retesting its second and first parent now.
>
> Both parents test ok, so looks like something bad happened during that
> merge.  Next step is to linearize it, unless someone has a nicer idea.

With all 35 core-rcu-for-linus patches[1] applied on top of

 5ec29e3149d8 Merge branch 'core-locking-for-linus'

the tree matches v3.5-rc1~164 and reliably fails to boot, with the
same message described above.

Unfortunately bisecting does not produce a clear result:

 - the kernel booted fine with the first three patches applied
   (up to and including c57afe80db4e "rcu: Make RCU_FAST_NO_HZ account
   for pauses out of idle)

 - with patch 4, the boot failure happened once, but I couldn't make
   it happen again

 - likewise with patches up to and including #7 (98248a0e2432 "rcu:
   Explicitly initialize RCU_FAST_NO_HZ per-CPU variables") --- the
   boot failure happened once, but next time I tried it it booted
   fine

 - the kernel reliably fails to boot towards the end of the series

The bug resists investigation.  Bisection log attached.

Luckily 3.5.2-1~experimental.1 still reliably fails to boot.  Better
news: 3.6~rc7-1~experimental.1, built as described in bug#688834,
reliably boots ok (!).  So my use case is taken care of.  Let's hope
the fix sticks.

Sincerely,
Jonathan

[1]
 2fdbb31b6627 rcu: Add RCU_FAST_NO_HZ tracing for idle exit
 2ee3dc80660a rcu: Make RCU_FAST_NO_HZ use timer rather than hrtimer
 c57afe80db4e rcu: Make RCU_FAST_NO_HZ account for pauses out of idle
 79b9a75fb703 rcu: Add warning for RCU_FAST_NO_HZ timer firing
 f511fc624642 rcu: Ensure that RCU_FAST_NO_HZ timers expire on correct CPU
 21e52e156663 rcu: Make RCU_FAST_NO_HZ handle timer migration
 98248a0e2432 rcu: Explicitly initialize RCU_FAST_NO_HZ per-CPU variables
 b1420f1c8bfc rcu: Make rcu_barrier() less disruptive
 559f9badd11d rcu: List-debug variants of rcu list routines
 f88022a4f650 rcu: Replace list_first_entry_rcu() with list_first_or_null_rcu()
 c9336643e144 rcu: Clarify help text for RCU_BOOST_PRIO
 d8169d4c369e rcu: Make __kfree_rcu() less dependent on compiler choices
 8932a63d5edb rcu: Reduce cache-miss initialization latencies for large systems
 dabb8aa96020 rcu: Document kernel command-line parameters
 6d8133919bac rcu: Document why rcu_blocking_is_gp() is safe
 048a0e8f5e1d timer: Fix mod_timer_pinned() header comment
 616c310e83b8 rcu: Move PREEMPT_RCU preemption to switch_to() invocation
 9dd8fb16c361 rcu: Make exit_rcu() more precise and consolidate
 37e377d2823e rcu: Fixes to rcutorture error handling and cleanup
 fae4b54f28f0 rcu: Introduce rcutorture testing for rcu_barrier()
 cef50120b61c rcu: Direct algorithmic SRCU implementation
 4b7a3e9e3211 rcu: Remove fast check path from __synchronize_srcu()
 440253c17fc4 rcu: Increment upper bit only for srcu_read_lock()
 944ce9af4767 rcu: Flip ->completed only once per SRCU grace period
 18108ebfebe9 rcu: Improve SRCU's wait_idx() comments
 b52ce066c55a rcu: Implement a variant of Peter's SRCU algorithm
 966f58c2f6df rcu: Remove unused srcu_barrier()
 dc87917501e3 rcu: Improve srcu_readers_active_idx()'s cache locality
 d9792edd7a9a rcu: Use single value to handle expedited SRCU grace periods
 931ea9d1a6e0 rcu: Implement per-domain single-threaded call_srcu() state
              machine
 9059c94017f7 rcu: Add rcutorture test for call_srcu()
 9fab97876af8 rcu: Update RCU maintainership
git bisect start
# good: [5ec29e3149d800e6db83c1b6ff441daf319cbbe2] Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good 5ec29e3149d800e6db83c1b6ff441daf319cbbe2
# bad: [12198b131631e8e59b0a59859f943cb1ef6d195d] rcu: Update RCU maintainership
git bisect bad 12198b131631e8e59b0a59859f943cb1ef6d195d
# bad: [649e28922a1e7822f1d7a76092e0c952ba505820] timer: Fix mod_timer_pinned() header comment
git bisect bad 649e28922a1e7822f1d7a76092e0c952ba505820
# bad: [bd87bd1e3ff13c60d9da6d4a5f4118a3c9d508c9] rcu: Make rcu_barrier() less disruptive
git bisect bad bd87bd1e3ff13c60d9da6d4a5f4118a3c9d508c9
# bad: [c2f4b04298df660415fc3f6a2d257e311f336f2f] rcu: Add warning for RCU_FAST_NO_HZ timer firing
git bisect bad c2f4b04298df660415fc3f6a2d257e311f336f2f
# good: [1aed1bf682f181bb385580ed197b73b479981e6d] rcu: Make RCU_FAST_NO_HZ use timer rather than hrtimer
git bisect good 1aed1bf682f181bb385580ed197b73b479981e6d
# good: [43c8306bbe97bab2bba21f2f93dbad52d8b1d61f] rcu: Make RCU_FAST_NO_HZ account for pauses out of idle
git bisect good 43c8306bbe97bab2bba21f2f93dbad52d8b1d61f
# good: [c2f4b04298df660415fc3f6a2d257e311f336f2f] rcu: Add warning for RCU_FAST_NO_HZ timer firing
git bisect good c2f4b04298df660415fc3f6a2d257e311f336f2f
# bad: [b1598f1147962a30d85779ba001e0454463b1a37] rcu: Explicitly initialize RCU_FAST_NO_HZ per-CPU variables
git bisect bad b1598f1147962a30d85779ba001e0454463b1a37
# good: [153d12b050bdf06386d02a89879bff5a5882a90f] rcu: Make RCU_FAST_NO_HZ handle timer migration
git bisect good 153d12b050bdf06386d02a89879bff5a5882a90f
# good: [43c8306bbe97bab2bba21f2f93dbad52d8b1d61f] rcu: Make RCU_FAST_NO_HZ account for pauses out of idle
git bisect good 43c8306bbe97bab2bba21f2f93dbad52d8b1d61f
# good: [e069cc6a69f9f0795f58686fb452910e41112a93] rcu: Ensure that RCU_FAST_NO_HZ timers expire on correct CPU
git bisect good e069cc6a69f9f0795f58686fb452910e41112a93
# good: [b1598f1147962a30d85779ba001e0454463b1a37] rcu: Explicitly initialize RCU_FAST_NO_HZ per-CPU variables
git bisect good b1598f1147962a30d85779ba001e0454463b1a37

Reply to: