Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 May 1995 02:53:15 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        hackers@FreeBSD.org, wosch@cs.tu-berlin.de
Subject:   Re: slow floppy
Message-ID:  <199505151653.CAA04994@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>My floppy is very very very slow.

>copy 1.2 MB:
>1) mcopy 50 sec
>2) cat 165 sec
>3) dd 165 sec
>4) mount -t msdos 585 sec (!!!)

>4) mean that I need 1 1/2 h for installing bindist! A poor null modem
>is faster.

cat and `dd bs=18k' on the raw device should be faster.  The default
block size for /dev/fd0 is stupid (2k) while the default block size
for /dev/rfd0 is better (16k) although it still has nothing to do
with a hardware.

The good performance for mcopy is probably because it uses the raw
device with a large block size and the especially bad performance
for msdosfs is probably because it uses the tiny file system block
size of 512 bytes.  msdosfs apparently reads only one block at a
time and your system is apparently just slow enough that reading
adjacent blocks in separate i/o's requires waiting a full disk
revolution between the blocks.  Thus you get a speed of about 1/5
second per block and it takes at least 2880 / 5 = 576 seconds to
read the whole disk.

To fix this, msdosfs needs to be improved.  It doesn't call the vfs
clustering routines.  It needs to call them or do its own clustering.
(The original version of it should have done its own clustering since
vfs clustering didn't exist then.  ufs didn't suffer so much from
the lack of clustering because of its larger block size.)

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199505151653.CAA04994>