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: