Date: Wed, 25 Aug 1999 05:03:14 +1000 From: Bruce Evans <bde@zeta.org.au> To: dg@root.com, nick.hibma@jrc.it Cc: freebsd-scsi@FreeBSD.ORG, shift@263.net Subject: Re: The I/O is too slow than linux Message-ID: <199908241903.FAA00684@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>>Quite a difference. Linux adapts the blocksize to the read size? Does >>their implementation of dd do something funny? > > As I recall, Linux doesn't have block devices (or is it that it doesn't >have character devices?....hmmm). Linux has only block devices, but for some reason (probably better clustering) they are much faster than ours despite using a smaller block size (1K instad of 2K). I/O is not clustered in any way for FreeBSD block devices, so the throughput is at best the same as for a block size of 2K with the corresponding character device. For IDE devices it is much worse, since the silly DIOCGPART ioctl() is called for every i/o and it does a sillier wait for i/o to complete. This causes amazing slow speeds for newfs on a buffered IDE device (waiting is worse for writes). I've only found one useful class of uses for buffered devices. It is good (*) for un-breaking disk utilities that don't do i/o in blocks, e.g., Linux fsck.ext2. (*) Not actually good for writes, since write errors can not be returned to the application. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199908241903.FAA00684>