From owner-freebsd-fs@FreeBSD.ORG Sun Oct 7 18:13:02 2007 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 20B9616A41B for ; Sun, 7 Oct 2007 18:13:02 +0000 (UTC) (envelope-from amdmi3@amdmi3.ru) Received: from cp65.agava.net (cp65.agava.net [89.108.66.215]) by mx1.freebsd.org (Postfix) with ESMTP id BFF7113C4B6 for ; Sun, 7 Oct 2007 18:13:01 +0000 (UTC) (envelope-from amdmi3@amdmi3.ru) Received: from [213.148.20.85] (helo=nexii.panopticon) by cp65.agava.net with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.44 (FreeBSD)) id 1Ieace-0003rO-1Q; Sun, 07 Oct 2007 22:13:00 +0400 Received: from hades.panopticon (hades.panopticon [192.168.0.2]) by nexii.panopticon (Postfix) with ESMTP id 8C3A11703D; Sun, 7 Oct 2007 22:14:13 +0400 (MSD) Received: by hades.panopticon (Postfix, from userid 1000) id 3D95F40CB; Sun, 7 Oct 2007 22:14:29 +0400 (MSD) Date: Sun, 7 Oct 2007 22:14:29 +0400 From: Dmitry Marakasov To: Bruce Evans Message-ID: <20071007181429.GB1082@hades.panopticon> Mail-Followup-To: Bruce Evans , freebsd-fs@freebsd.org References: <20071005004820.GA29814@hades.panopticon> <20071006080406.S689@besplex.bde.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <20071006080406.S689@besplex.bde.org> User-Agent: Mutt/1.5.16 (2007-06-09) X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cp65.agava.net X-AntiAbuse: Original Domain - freebsd.org X-AntiAbuse: Originator/Caller UID/GID - [0 0] / [26 6] X-AntiAbuse: Sender Address Domain - amdmi3.ru X-Source: X-Source-Args: X-Source-Dir: Cc: freebsd-fs@freebsd.org Subject: Re: Very slow writes on flash + msdosfs X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Oct 2007 18:13:02 -0000 * Bruce Evans (brde@optusnet.com.au) wrote: > Try 512 bytes/cluster for real slowness. Yep, I've tried. I had to use 32k clusters to get 8Mb/s. >> So where is the problem? Why's there no caching and why's there 1 sector >> writes? > Old versions of msdosfs don't implement clustering. >> PS. I use 6.1, has the situation changed in -CURRENT? > Yes. > > However, clustering won't help much for small files, due to BSD's > fundamental design error of per-vnode buffering. With 340 files in a > > Async mounts would reduce the minimum number of writes per file to > about 1 (for the data block). msdosfs doesn't implement them yet. Hm, true. I just found out that UFS is slow as well. Though it can write large files at almost 11 MB/s, small files are even slower. Async mount helps a lot, too bad msdosfs can't do it. So if this problem is fundamenal, and msdosfs can't work async, isn't there some GEOM class that does simple memory caching? I don't care what happens to data on flash if the power goes down in the middle of writing, but I'm just too jealous of how good Linux forks with the very same flash (I have 4Gb mem Linux box on my work, and whatever you copy to flash - movies, or tons of small files, cp finishes in a moment - all data is actually copied to memory, and than flushed on umount or sync - I guess on the maximum speed possible). -- Best regards, Dmitry Marakasov mailto:amdmi3@amdmi3.ru