Opened 7 years ago

Last modified 7 years ago

#13811 assigned bug

[AHCI] comreset slows down booting

Reported by: diver Owned by: kallisti5
Priority: normal Milestone: Unscheduled
Component: Drivers/Disk Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

VMware Fusion stops at disk icon for a minute printing the following:

port 1 undergoing COMRESET
...
port 32 undergoing COMRESET

then continues booting normally.

I can workaround it if I disable sata in .vmx file:

sata0.present = "FALSE"

This was likely introduced during port reset rework last year: https://github.com/haiku/haiku/commits/master/src/add-ons/kernel/busses/scsi/ahci/ahci_port.cpp

Attachments (1)

syslog (512.1 KB ) - added by diver 7 years ago.

Download all attachments as: .zip

Change History (10)

by diver, 7 years ago

Attachment: syslog added

comment:1 by diver, 7 years ago

patch: 01

comment:2 by diver, 7 years ago

patch: 10

comment:3 by kallisti5, 7 years ago

The AHCI driver currently iterates over each port and does a communication reset prior to starting up to try and make things as reliable as possible.

Each reset does include a small delay while the port stabilizes.

We could likely tune the delays better, however, this all leads me to a bigger question. Why is your VMWare Fusion presenting 32 SATA ports to the OS? The number of SATA ports is generally configurable (this is at least the case on VirtualBox and libvirtd)

comment:4 by kallisti5, 7 years ago

Now, I did add a check to try and reduce startup times around a bunch of empty ports: https://github.com/haiku/haiku/commit/2f6a9c685a0b6490796c08ef8120cff1ea743dc5#diff-697beff8b60e79980fa710483bbf73ba

However, the check doesn't seem to be working on your system.. it appears from the data i've been presented that VMWare is listing those 32 SATA ports as having drives attached. (even though I assume none are?)

comment:5 by diver, 7 years ago

Sure, I switched all my virtual drives from SATA to IDE and removed IDE CDROM but that didn't help. Th problem goes away only when I disable SATA in .vmx file.

comment:6 by Giova84, 7 years ago

I also found this issue on an old laptop which have only an IDE (PATA) hard disk: during the boot process, stops at disk icon for about 6 - 7 seconds; I am totally sure that in past (eg with Alpah 4) this didn't occurred. Anyway, here there is a syslog grabbed after a reboot: https://dev.haiku-os.org/attachment/ticket/13904/syslog

comment:7 by diver, 7 years ago

Looks like a different issue as there are no COMRESET messages in the syslog.

comment:8 by Giova84, 7 years ago

Well, for what is worth, Haiku Alpha 4 boot quickly fast on my laptop, so is definitely a regression somewhere.

comment:9 by diver, 7 years ago

Indeed, same here.

Note: See TracTickets for help on using tickets.