From owner-freebsd-arch Tue Nov 9 20:23:11 1999 Delivered-To: freebsd-arch@freebsd.org Received: from ns1.yes.no (ns1.yes.no [195.204.136.10]) by hub.freebsd.org (Postfix) with ESMTP id 7CA2E15168 for ; Tue, 9 Nov 1999 20:23:08 -0800 (PST) (envelope-from eivind@bitbox.follo.net) Received: from bitbox.follo.net (bitbox.follo.net [195.204.143.218]) by ns1.yes.no (8.9.3/8.9.3) with ESMTP id FAA02277 for ; Wed, 10 Nov 1999 05:23:08 +0100 (CET) Received: (from eivind@localhost) by bitbox.follo.net (8.8.8/8.8.6) id FAA05064 for freebsd-arch@freebsd.org; Wed, 10 Nov 1999 05:23:08 +0100 (MET) Received: from nomis.simon-shapiro.org (nomis.simon-shapiro.org [209.86.126.163]) by hub.freebsd.org (Postfix) with SMTP id 6572115168 for ; Tue, 9 Nov 1999 20:22:59 -0800 (PST) (envelope-from shimon@simon-shapiro.org) Received: (qmail 53495 invoked from network); 10 Nov 1999 04:22:58 -0000 Received: from localhost.simon-shapiro.org (HELO simon-shapiro.org) (127.0.0.1) by localhost.simon-shapiro.org with SMTP; 10 Nov 1999 04:22:58 -0000 Message-ID: <3828F322.B62D174E@simon-shapiro.org> Date: Tue, 09 Nov 1999 23:22:58 -0500 From: Simon Shapiro Organization: Simon's Garage X-Mailer: Mozilla 4.6 [en] (X11; I; FreeBSD 3.3-STABLE i386) X-Accept-Language: en MIME-Version: 1.0 To: Bruce Evans Cc: freebsd-arch@freebsd.org Subject: Re: I/O Evaluation Questions (Long but interesting!) References: Content-Type: text/plain; charset= Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Bruce Evans wrote: > > > 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 Thanx Bruce. What I observed, is that ALL block device I/O is happening in 8KB calls, except for the 512 bytes calls for slice and partition management (5 of them, methinks). The 10:1 random write problem may be mine; An ancient and well hidden bug in st.d which made lock unlock calls for every i/o. We run circles around NT in the Random I/O department, but take a beating in the sequential I/O arena; For about the same hardware, they do 98 MB/Sec, I cannot get more than 45. Their test machine has 64bit PCI. Mine does not. -- Sincerely Yours, Shimon@Simon-Shapiro.ORG 404.664.6401 Simon Shapiro Unwritten code has no bugs and executes at twice the speed of mouth To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message