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