From owner-freebsd-fs Wed May 16 2:58:36 2001 Delivered-To: freebsd-fs@freebsd.org Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by hub.freebsd.org (Postfix) with ESMTP id 8777937B422 for ; Wed, 16 May 2001 02:58:32 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: from bde.zeta.org.au (bde.zeta.org.au [203.2.228.102]) by mailman.zeta.org.au (8.9.3/8.8.7) with ESMTP id TAA01170; Wed, 16 May 2001 19:58:23 +1000 Date: Wed, 16 May 2001 19:57:05 +1000 (EST) From: Bruce Evans X-Sender: bde@besplex.bde.org To: Stefan Parvu Cc: freebsd-fs@FreeBSD.ORG, fbsdq@yahoo.com Subject: Re: UFS to FAT32 In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Tue, 15 May 2001, Stefan Parvu wrote: > I tested FreeBSD 4.3-RELEASE doing this : > > 1. mount /win98 partition as rw only. Move from BSD partition to FAT32 a > file of 500MB. Time around 25min. System really slow. CPU as idle around > 99% but vmstat reported a lot of blocked processes(2to6). Can't work > anymore in the box until de copy operation finished. This is probably caused by new (in 4.3) default of write caching turned off for ATA drives. I'm not sure why it blocks so many processes. It should only make the system unusable when many processes other than the copy hog want to access the disk :-]. > 2. mount /win98 as rw, sync. The same scenario movinf a file 500MB from > UFS to FAT32 . Time around 35min. System ok. You can do some other work > meanwhile copy operation. In the first scenario there were really long > delays until opening a new terminal, or top, whatever processes. Interesting. The sync mount option make all writes of data blocks to the disk synchronous. It has no effect on the synchronicity of writes of metadata blocks at least for ffs, which is not where the writes are here, but msdosfs shouldn't be much different. (A quick check shows that FAT updates are not properly synced by default, but the sync option bogusly fixes this -- the sync option is only supposed to affect data writes. Syncing of the FAT should default to on and be controlled by the (currently unimplemented for msdosfs) async mount option. The only other related brokenness seems to be that the sync option doesn't give syncing of new data blocks in extendfile().) Anyway, the sync mount option is usually just a pessimization. It must be reducing the long delays by reducing the size of the average i/o. With the sync option, the system writes data blocks immediately, with a block size identical to the filesystem block size. Without it, blocks are clustered, and the average block size seen by the driver should be close to its maximum (128K for ATA disks) since the file is large. Writing a 128K block doesn't take all that long since your disk has a bandwidth of 20+-37MB/sec, but it is apparently too long to suit the clustering code. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message