Bug 12452 (rootdelay_problem) - In kernel version 2.6.28, the rootdelay= kernel option does not do anything.
Summary: In kernel version 2.6.28, the rootdelay= kernel option does not do anything.
Status: CLOSED WILL_NOT_FIX
Alias: rootdelay_problem
Product: IO/Storage
Classification: Unclassified
Component: Serial ATA (show other bugs)
Hardware: All Linux
: P1 high
Assignee: Jeff Garzik
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-14 17:44 UTC by Morgan
Modified: 2009-02-07 12:32 UTC (History)
3 users (show)

See Also:
Kernel Version: 2.6.28
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
This is the 2.6.28 bootup log from dmesg. (120.87 KB, text/plain)
2009-01-14 20:02 UTC, Morgan
Details
Newer Bootup Log (121.04 KB, text/plain)
2009-01-15 19:45 UTC, Morgan
Details

Description Morgan 2009-01-14 17:44:34 UTC
Latest working kernel version:2.6.27.10
Earliest failing kernel version:2.6.28
Distribution:Ubuntu 8.10
Hardware Environment:
CPU:
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 15
model		: 2
model name	: Intel(R) Pentium(R) 4 CPU 2.40GHz
stepping	: 7
cpu MHz		: 2393.989
cache size	: 512 KB
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 2
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe up pebs bts cid
bogomips	: 4787.97
clflush size	: 64
Memory:
00000000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000cf7ff : Video ROM
000d0000-000d27ff : Adapter ROM
000f0000-000fffff : reserved
  000f0000-000fffff : System ROM
00100000-1fffbfff : System RAM
  00100000-003f0489 : Kernel code
  003f048a-0054378f : Kernel data
  005bd000-0066f473 : Kernel bss
1fffc000-1fffefff : ACPI Tables
1ffff000-1fffffff : ACPI Non-volatile Storage
e3000000-e3000fff : 0000:00:13.0
  e3000000-e3000fff : firewire_ohci
e3800000-e38000ff : 0000:00:12.0
  e3800000-e38000ff : 8139too
e4000000-e400ffff : 0000:00:0f.0
e4800000-e4807fff : 0000:00:0e.0
  e4800000-e4807fff : 0000:00:0e.0
e5000000-e5000fff : 0000:00:03.3
  e5000000-e5000fff : ehci_hcd
e5800000-e5800fff : 0000:00:03.2
  e5800000-e5800fff : ohci_hcd
e6000000-e6000fff : 0000:00:03.1
  e6000000-e6000fff : ohci_hcd
e6800000-e6800fff : 0000:00:03.0
  e6800000-e6800fff : ohci_hcd
e7000000-e7ffffff : PCI Bus 0000:01
  e7000000-e7ffffff : 0000:01:00.0
    e7000000-e7ffffff : nvidia
e8000000-ebffffff : 0000:00:00.0
ef700000-febfffff : PCI Bus 0000:01
  ef7e0000-ef7fffff : 0000:01:00.0
  ef800000-ef87ffff : 0000:01:00.0
  f0000000-f7ffffff : 0000:01:00.0
fec00000-fec00fff : reserved
fee00000-fee00fff : Local APIC
  fee00000-fee00fff : reserved
ffee0000-ffefffff : pnp 00:02
ffff0000-ffffffff : reserved
Software Environment:
Linux server 2.6.27.10 #1 SMP Wed Dec 24 17:52:21 MST 2008 i686 GNU/Linux
 
Gnu C                  4.3.2
Gnu make               3.81
binutils               2.18.93.20081009
util-linux             2.14
mount                  support
module-init-tools      3.3-pre11
e2fsprogs              1.41.3
reiserfsprogs          3.6.19
pcmciautils            014
PPP                    2.4.4
Linux C Library        2.8.90
Dynamic linker (ldd)   2.8.90
Procps                 3.2.7
Net-tools              1.60
Kbd                    1.14.1
Sh-utils               6.10
udev                   124
wireless-tools         29
Modules Loaded         nls_iso8859_1 nls_cp437 vfat fat rfcomm bridge stp bnep sco l2cap bluetooth ppdev speedstep_lib cpufreq_powersave cpufreq_stats cpufreq_conservative cpufreq_ondemand freq_table cpufreq_userspace wmi video output container sbs sbshc pci_slot battery ipv6 iptable_filter ip_tables x_tables ac sbp2 lp snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss pcspkr evdev psmouse usb_storage snd_pcm serio_raw libusual snd_seq_dummy nvidia snd_seq_oss snd_seq_midi snd_rawmidi parport_pc parport snd_seq_midi_event rt61pci rt2x00pci rt2x00lib snd_seq rfkill snd_timer snd_seq_device led_class i2c_sis96x button sis_agp agpgart eeprom_93cx6 snd soundcore shpchp pci_hotplug i2c_core snd_page_alloc ext3 jbd mbcache 8139cp sd_mod crc_t10dif sg ohci1394 ieee1394 ohci_hcd ehci_hcd 8139too mii usbcore pata_sis pata_acpi ata_generic thermal processor fan fuse
Problem Description: The rootdelay boot option does not work.
Steps to reproduce: You must have a computer that requires rootdelay. Add the rootdelay kernel option to your boot agent. In this case I use GRUB. Try booting up. The root delay defaults to 60.
Comment 1 Andrew Morton 2009-01-14 18:07:25 UTC
Please attach the full 2.6.28 bootup logs to this report.
Comment 2 Morgan 2009-01-14 20:02:57 UTC
Created attachment 19813 [details]
This is the 2.6.28 bootup log from dmesg.
Comment 3 Morgan 2009-01-14 20:03:32 UTC
(In reply to comment #1)
> Please attach the full 2.6.28 bootup logs to this report.
> 

Done. It's attached to this bug.
Comment 4 Andrew Morton 2009-01-14 20:08:02 UTC
I'm afraid that most of it is missing.  It should start with

Linux version 2.6.24.3-34.fc8 (mockbuild@xenbuilder4.fedora.phx.redhat.com) (gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)) #1 SMP Wed Mar 12 16:51:49 EDT 2008
Command line: ro root=LABEL=/ rhgb quiet

(or similar)

You might need to increase the kernel log buffer size to prevent it from
overflowing.  Add log_buf_len=1M to the kernel boot command line.

Thanks.
Comment 5 Morgan 2009-01-15 15:06:01 UTC
Do you just use dmesg to get that info? Or is it another command? I used dmesg for the previous, incomplete info. If I can do it with dmesg, then I'll add that boot option and get back to you soon.
Comment 6 Morgan 2009-01-15 15:07:03 UTC
Whoops, accidentially deferred the bug. It's reopened now.
Comment 7 Andrew Morton 2009-01-15 15:18:07 UTC
ah.  The `dmesg' command itself is stupid and truncates the output.  Use

dmesg -s 1000000
Comment 8 Morgan 2009-01-15 19:45:37 UTC
Created attachment 19822 [details]
Newer Bootup Log

This is the new bootup log, although it's not much different. dmesg in busybox doesn't appear to support -s.
Comment 9 Andrew Morton 2009-01-15 20:10:23 UTC
> dmesg in busybox doesn't appear to support -s.

argh!  We need to see the full logs.

Are they available in /var/log/messages or equivalent?

One alternative might be to disable klogd (rm /sbin/logd or whatever) and
then, after it has booted, do `cat /proc/kmsg > foo'
Comment 10 Morgan 2009-01-15 21:05:03 UTC
There is a FULL dmesg log in /var/log. However, it is for the current running kernel. Is there any way to tell a kernel not to write to dmesg for the purpose of extracting the precious text from another kernel?

By the way, I am using rootdelay=240 because of another bug that has been triaged by the Ubuntu kernel team. The bug is blocking. I'll post a report on it later, but getting rootdelay working is the first step.
Comment 11 Andrew Morton 2009-01-15 22:52:31 UTC
Confused.  the /var/log file should contain the boot logs for the past several kernels - can't you just extract the one we're after?

Or are you saying that something remove the log file on each boot?  That would be pretty stupid of them.

The other way to fix all this is to get netconsole working:
Documentation/networking/netconsole.txt
Comment 12 Morgan 2009-01-16 05:35:25 UTC
/var/log contains some gzipped logs for previous kernels. They are truncated however. I'll try putting a different version of dmesg that supports -s on a thumb drive, mounting the thumb drive at the initramfs prompt, and running that version. That should do it.
Comment 13 Roland Kletzing 2009-01-17 03:07:17 UTC
so you cannot mount rootfs and want to use rootdelay to fix it ? 

think we have another issue:

[    3.715643] hda: host max PIO4 wanted PIO255(auto-tune) selected PIO4
[    3.715925] hda: UDMA/100 mode selected
[    3.716333] Probing IDE interface ide1...
[   34.069528] ide1: Wait for ready failed before probe !
[   34.070581] CPA self-test:
[   34.070844]  4k 1532 large 253 gb 0 x 1785[c0000000-dfffb000] miss 0
[   34.084956]  4k 110076 large 41 gb 0 x 110117[c0000000-dfffb000] miss 0
[   34.095482]  4k 110076 large 41 gb 0 x 110117[c0000000-dfffb000] miss 0


do you see a 30 second realtime delay here ?
does it behave different if you disconnect your cd-rom drive (or whatever is also attached to ide1 bus) ?
Comment 14 Morgan 2009-01-17 11:33:19 UTC
Yeah, I see a delay.
I've filed a second bug report here (http://bugzilla.kernel.org/show_bug.cgi?id=12470) because of the delay problem that I have to use rootdelay to work around. The dmesg output pertaining to this issue in 2.6.27.10 is:

[    7.524541] ata1.00: ATA-6: ST380023A, 3.31, max UDMA/100
[    7.524547] ata1.00: 156301488 sectors, multi 16: LBA 
[    7.540518] ata1.00: configured for UDMA/100
[   12.736015] ata2: link is slow to respond, please be patient (ready=0)
[   17.552015] ata2: SRST failed (errno=-16)
[   22.748015] ata2: link is slow to respond, please be patient (ready=0)
[   27.564015] ata2: SRST failed (errno=-16)
[   32.760017] ata2: link is slow to respond, please be patient (ready=0)
[   62.608015] ata2: SRST failed (errno=-16)
[   67.636015] ata2: SRST failed (errno=-16)
[   67.636023] ata2: reset failed, giving up
[   67.636180] scsi 0:0:0:0: Direct-Access     ATA      ST380023A        3.31 PQ: 0 ANSI: 5

It's a bit more verbose.
Comment 15 Morgan 2009-01-29 15:08:50 UTC
Also, disconnecting my CD-ROM drive does nothing.
Comment 16 Morgan 2009-01-29 16:03:46 UTC
So I did cat /proc/cmdline at the busybox prompt. All that shows up is "term," as opposed to other kernel versions that show all the boot options.
Comment 17 Morgan 2009-02-07 12:32:14 UTC
Bug closed, I compiled the kernel with the kernel command line overriding boot args.

Note You need to log in before you can comment on or make changes to this bug.