From owner-cvs-all Sun Sep 19 11: 8:45 1999 Delivered-To: cvs-all@freebsd.org Received: from proxy2.ba.best.com (proxy2.ba.best.com [206.184.139.14]) by hub.freebsd.org (Postfix) with ESMTP id 88E0014C09; Sun, 19 Sep 1999 11:08:39 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com ([209.157.86.2]) by proxy2.ba.best.com (8.9.3/8.9.2/best.out) with ESMTP id LAA12738; Sun, 19 Sep 1999 11:06:28 -0700 (PDT) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id LAA73255; Sun, 19 Sep 1999 11:06:28 -0700 (PDT) (envelope-from dillon) Date: Sun, 19 Sep 1999 11:06:28 -0700 (PDT) From: Matthew Dillon Message-Id: <199909191806.LAA73255@apollo.backplane.com> To: Poul-Henning Kamp Cc: dg@root.com, Greg Lehey , cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: User block device access (was: cvs commit: src/sys/miscfs/specfs spec_vnops.c src/sys/sys vnode.h src/sys/kern vfs_subr.c) References: <16748.937762251@critter.freebsd.dk> Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk : :Matt your "prove phk wrong at any time and at any cost" reflex is :getting more and more in the way of your technical knowledge here :-) : :Did you usee the (...) I had up there ? Did you try it yourself ? : :rover# time dd if=/dev/rda0 of=/dev/null bs=1m count=100 :100+0 records in :100+0 records out :104857600 bytes transferred in 33.712305 secs (3110366 bytes/sec) :0.0u 0.0s 0:33.76 0.2% 67+1707k 2+0io 2pf+0w :rover# time dd if=/dev/da0 of=/dev/null bs=1m count=100 :100+0 records in :100+0 records out :104857600 bytes transferred in 84.777081 secs (1236863 bytes/sec) :0.0u 3.7s 1:24.79 4.4% 75+2771k 51201+0io 0pf+0w :rover# : :Block devices are (at least ?) an order of magnitude more :resource consuming than char devices. Oh for gods sake, your problem here is not with the buffered block device, it looks to me like you are overrunning the buffer cache's capabilities with too-large block size. Also, if you are only getting 3.1 MBytes/sec over the raw interface there's something seriously screwy with your setup. Try using a reasonable block size, like 32k and see if that helps. I get the disk's platter transfer rate whether I use a block device, a raw device, or a file, with only minor differences between them. That's 27-28 MBytes/sec across a two-disk stripe, and 13-14 MBytes/sec from a single disk. :Poul-Henning :-- :Poul-Henning Kamp FreeBSD coreteam member :phk@FreeBSD.ORG "Real hackers run -current on their laptop." -Matt Matthew Dillon To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message