On Fri, Mar 17, 2023 at 10:26:55PM +0100, Paul de Weerd wrote: > I've gotten a lot further now, and can report things are not > completely not working .. they're just .. s l o w. > > I built a kernel with AHCI_DEBUG and some printf's in init_main.c > and a rather stupid diff for amd64's dkcsum.c (I tried #define DEBUG, > but that didn't work for some reason, so I went with s/ifdef/ifndef/ - > see below for both diffs). After building the kernel and rebooting, I > had to go AFK for a bit, so I left the system for a few hours. When I > got back - a login prompt! > > Here's what I saw: > > [weerd@pom] $ time ktrace disklabel sd1 > /dev/null > 3m00.18s real 0m00.00s user 0m00.20s system > > So disk access is SUPER SLOW for some reason. But it does work - the > disklabel it showed for another run (where I didn't redirect to > /dev/null) was the correct label:
It sounds like interrupts from ahci1 aren't working. When a command timeout fires, the driver checks to see if the command has actually finished, and processes it normally if it has, which is where this message comes from: Mar 17 20:41:47 ahci1.1: final poll of port completed command in slot 10 What does vmstat -zi show?