I haven't noticed this before and don't recall it being mentioned before... I just did an 'fdisk ad1' whilst ad0 was being hammered and the fdisk spat out all the expected information then hung (in "atalck") for about 4? minutes before exiting. This was repeatable and very disconcerting the first time. Background: The system is an AMD Athlon-XP running -STABLE from the beginning of August with two 100GB WD drives running at UDMA100 attached to channel 0 of a VIA VT8233A. The "hammering" was a dd of the raw disk, a "find /" and a "cvs update" (systat -v report 100% utilisation of ad0). A quick check of the code shows "atalck" is used within ATA_SLEEPLOCK_CH to wait for the channel to be come idle and this macro is used fairly extensively within the ata code. Having I/O requests queued for over 4 minutes seems excessive - how difficult would it be for the ata code to better round-robin requests? (Possibly via a wakeup at the end of ata_start()). -- Peter Jeremy