Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Nov 1999 14:22:58 +1100 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Simon Shapiro <shimon@simon-shapiro.org>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: I/O Evaluation Questions (Long but interesting!)
Message-ID:  <Pine.BSF.4.10.9911101412490.12295-100000@alphplex.bde.org>
In-Reply-To: <3828BB53.DD482CD2@simon-shapiro.org>

next in thread | previous in thread | raw e-mail | index | archive | help
> And this, ladies and gentlemen is what I do not understand;
> 
> Why is random WRITE to a block device about 10-11 times
> slower than raw device?
> Actually, sequential read is 1/3 of raw device too.  Why?

Block devices have to use a fixed block size.  This size is
normally BLKDEV_IOSIZE.  For historical reasons, BLKDEV_IOSIZE
is normally too small.  On i386's, it is 2048 in RELENG_3 and
4096 in -current.  -current has a sysctl to set the default
size.

Large i/o's are split up into blocks of the fixed size.  Small
blocks are very bad for sequential i/o's.  They may actually be
good for random i/o's if the original i/o's are small.

Bruce





To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.10.9911101412490.12295-100000>