Excessive fdisk(8) delays
Peter Jeremy
PeterJeremy at optushome.com.au
Fri Aug 20 13:50:42 PDT 2004
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
More information about the freebsd-stable
mailing list