Opened 21 months ago

Last modified 20 months 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:
Has a Patch: no 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 21 months ago.

Download all attachments as: .zip

Change History (10)

Changed 21 months ago by diver

Attachment: syslog added

comment:1 Changed 21 months ago by diver

Has a Patch: set

comment:2 Changed 21 months ago by diver

Has a Patch: unset

comment:3 Changed 21 months ago by kallisti5

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 Changed 21 months ago by kallisti5

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 Changed 21 months ago by diver

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 Changed 20 months ago by Giova84

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 Changed 20 months ago by diver

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

comment:8 Changed 20 months ago by Giova84

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

comment:9 Changed 20 months ago by diver

Indeed, same here.

Note: See TracTickets for help on using tickets.