Date: Wed, 28 Nov 2007 11:27:52 -0800 From: Alfred Perlstein <alfred@freebsd.org> To: Dominic Fandrey <LoN_Kamikaze@gmx.de> Cc: freebsd-stable@freebsd.org Subject: Re: msdosfs performance unbearable Message-ID: <20071128192752.GB71382@elvis.mu.org> In-Reply-To: <474D2EF3.60104@gmx.de> References: <474BD99C.7070002@gmx.de> <20071128015624.GP71382@elvis.mu.org> <474D2EF3.60104@gmx.de>
next in thread | previous in thread | raw e-mail | index | archive | help
* Dominic Fandrey <LoN_Kamikaze@gmx.de> [071128 01:04] wrote: > Alfred Perlstein wrote: > > * Dominic Fandrey <LoN_Kamikaze@gmx.de> [071127 00:47] wrote: > >> ufs: > >> $ time -h tar -xf php_manual_en.tar.gz > >> 3.31s real 0.43s user 0.51s sys > >> > >> > >> msdosfs: > >> I stopped that after 45 minutes. > >> > >> Also the system becomes barely responsive. The mouse moves extremely s= loppy > >> and a key-press often causes 2 characters to be printed. Mouse-clicks = are > >> either lost or take more than 10 seconds to be recognized. > >=20 > > Which version of FreeBSD? can you get more information about the=20 > > FAT system? >=20 > Csupped and build yesterday: > $ uname -a > FreeBSD mobileKamikaze.norad 7.0-BETA3 FreeBSD 7.0-BETA3 #0: Tue Nov 27 > 20:53:17 CET 2007 > root@homeKamikaze.norad:/usr/obj/TPR40-7/i386/usr/src/sys/TPR40-7 i386 >=20 > Partition information: > /dev/ad0s3 on /mnt/msdos/software (msdosfs, local) > /dev/ad0s4 on /mnt/msdos/vault (msdosfs, local) >=20 > Actually I don't know any way of aquiring (<=3D how is this spelled?) use= ful > data about Fat32 partitions in FreeBSD. Ok that's fine, I was wondering is the MSDOS filesystem over USB or something? Is the UFS and MSDOSFS on the same media? -Alfred >=20 > Anyway: > mobileKamikaze$ strace -o ~/msdos.trace tar -xf php_manual_en.tar.gz > ^C >=20 > And here is the beginning of the trace: > execve(0xbfbfe608, [0xbfbfeaf4], [/* 0 vars */]) =3D 0 > __sysctl([...], 0xbfbfe86c, 0xbfbfe870, NULL, 0) =3D 0 > syscall_477(0, 0x110, 0x3, 0x1000, 0xffffffff, 0, 0) =3D 0x28080000 > munmap(0x28080000, 272) =3D 0 > __sysctl([...], 0x2807c87c, 0xbfbfe8d0, NULL, 0) =3D 0 > syscall_477(0, 0x8000, 0x3, 0x1002, 0xffffffff, 0, 0) =3D 0x28080000 > issetugid(0x2807598c) =3D 0 > open("/etc/libmap.conf", O_RDONLY) =3D 3 > fstat(3, {st_mode=3DS_IFDIR|0543, st_size=3D18446253021508551011, ...}) = =3D 0 > read(3, "", 4096) =3D 0 > close(3) =3D 0 > open("/var/run/ld-elf.so.hints", O_RDONLY) =3D 3 > read(3, "f/rtld.c:3297\n\0\0%s: Unexpected "..., 128) =3D 128 > syscall_478(0x3, 0x80, 0, 0) =3D 0x80 > read(3, "/lib:/usr/lib:/usr/lib/compat:/u"..., 274) =3D 274 > close(3) =3D 0 > access("/lib/libarchive.so.4", F_OK) =3D -1 ENOENT (No such file or di= rectory) > access("/usr/lib/libarchive.so.4", F_OK) =3D 0 > open("/usr/lib/libarchive.so.4", O_RDONLY) =3D 3 > fstat(3, {st_mode=3D0, st_size=3D0, ...}) =3D 0 > read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0pP\0\000"..., 409= 6) =3D 4096 > syscall_477(0, 0x25000, 0x5, 0x20002, 0x3, 0, 0) =3D 0x28088000 > mprotect(0x280aa000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) =3D 0 > mprotect(0x280aa000, 4096, PROT_READ|PROT_EXEC) =3D 0 > syscall_477(0x280ab000, 0x1000, 0x3, 0x12, 0x3, 0x22000, 0) =3D 0x280ab000 > syscall_477(0x280ac000, 0x1000, 0x3, 0x1012, 0xffffffff, 0, 0) =3D 0x280a= c000 > close(3) =3D 0 > access("/lib/libbz2.so.3", F_OK) =3D -1 ENOENT (No such file or di= rectory) > access("/usr/lib/libbz2.so.3", F_OK) =3D 0 > open("/usr/lib/libbz2.so.3", O_RDONLY) =3D 3 > fstat(3, {st_mode=3D0, st_size=3D0, ...}) =3D 0 > read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\21\0\000"..., 4= 096) > =3D 4096 > syscall_477(0, 0x11000, 0x5, 0x20002, 0x3, 0, 0) =3D 0x280ad000 > mprotect(0x280bc000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) =3D 0 > mprotect(0x280bc000, 4096, PROT_READ|PROT_EXEC) =3D 0 > syscall_477(0x280bd000, 0x1000, 0x3, 0x12, 0x3, 0xf000, 0) =3D 0x280bd000 > close(3) =3D 0 > access("/lib/libz.so.4", F_OK) =3D 0 > open("/lib/libz.so.4", O_RDONLY) =3D 3 > fstat(3, {st_mode=3D0, st_size=3D0, ...}) =3D 0 > read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\27"..., 4096= ) =3D 4096 > syscall_477(0, 0x12000, 0x5, 0x20002, 0x3, 0, 0) =3D 0x280be000 > mprotect(0x280ce000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) =3D 0 > mprotect(0x280ce000, 4096, PROT_READ|PROT_EXEC) =3D 0 > syscall_477(0x280cf000, 0x1000, 0x3, 0x12, 0x3, 0x11000, 0) =3D 0x280cf000 > close(3) =3D 0 > access("/lib/libc.so.7", F_OK) =3D 0 > open("/lib/libc.so.7", O_RDONLY) =3D 3 > fstat(3, {st_mode=3D0, st_size=3D0, ...}) =3D 0 > read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\327\1"..., 409= 6) =3D 4096 > syscall_477(0, 0xfd000, 0x5, 0x20002, 0x3, 0, 0) =3D 0x280d0000 > mprotect(0x281b2000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) =3D 0 > mprotect(0x281b2000, 4096, PROT_READ|PROT_EXEC) =3D 0 > syscall_477(0x281b3000, 0x6000, 0x3, 0x12, 0x3, 0xe2000, 0) =3D 0x281b3000 > syscall_477(0x281b9000, 0x14000, 0x3, 0x1012, 0xffffffff, 0, 0) =3D 0x281= b9000 > close(3) =3D 0 > syscall_477(0, 0x9000, 0x3, 0x1002, 0xffffffff, 0, 0) =3D 0x281cd000 > sysarch(0xa, 0xbfbfe930) =3D 0 > syscall_477(0, 0x4b0, 0x3, 0x1000, 0xffffffff, 0, 0) =3D 0x281d6000 > munmap(0x281d6000, 1200) =3D 0 > syscall_477(0, 0xa18, 0x3, 0x1000, 0xffffffff, 0, 0) =3D 0x281d6000 > munmap(0x281d6000, 2584) =3D 0 > syscall_477(0, 0x2b8, 0x3, 0x1000, 0xffffffff, 0, 0) =3D 0x281d6000 > munmap(0x281d6000, 696) =3D 0 > syscall_477(0, 0x408, 0x3, 0x1000, 0xffffffff, 0, 0) =3D 0x281d6000 > munmap(0x281d6000, 1032) =3D 0 > syscall_477(0, 0x51c8, 0x3, 0x1000, 0xffffffff, 0, 0) =3D 0x281d6000 > munmap(0x281d6000, 20936) =3D 0 > __sysctl([1025732.0], 2, > "i7\350!\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., [2097204], = NULL, > 0) =3D 0 > sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV SYS], []) =3D 0 > sigprocmask(SIG_SETMASK, [], NULL) =3D 0 > open("", O_RDONLY) =3D 3 > fstat(3, {st_mode=3D0, st_size=3D130023424, ...}) =3D 0 > __sysctl([127795200.78970880], 2, > "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., [19136512], = NULL, > 0) =3D 0 > __sysctl([sysctl.0], 2, "", [0], NULL, 0) =3D 0 > __sysctl([4096.0], 2, "", [0], NULL, 0) =3D 0 > readlink("/etc/malloc.conf", 0xbfbfdf7b, 1024) =3D -1 ENOENT (No such fil= e or > directory) > issetugid(0x281aa366) =3D 0 > break(0x8100000) =3D 0 > __sysctl([181832331.185240637], 2, "ena\n\0\0\0\0: (malloc) Unsupported c= "..., > [1918967911], NULL, 0) =3D 0 > syscall_477(0, 0x200000, 0x3, 0x1002, 0xffffffff, 0, 0) =3D 0x281d6000 > munmap(0x281d6000, 172032) =3D 0 > munmap(0x28300000, 876544) =3D 0 > read(3, "1.2\n\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0"..., 409= 6) =3D 4096 > read(3, "\0\277\0\0\0\0\0\0\0\300\0\0\0\0\0\0\0\301\0\0\0\0\0\0"..., 4096= ) =3D 546 > close(3) =3D 0 > open("", O_RDONLY) =3D 3 > fstat(3, {st_mode=3D0, st_size=3D24206847997116416, ...}) =3D 0 > fstat(3, {st_mode=3D0133, st_size=3D95, ...}) =3D 0 > syscall_478(0x3, 0, 0, 0x1) =3D 0 > syscall_478(0x3, 0, 0, 0) =3D 0 > read(3, "RuneMag1UTF-8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = =3D 4096 > read(3, "@\4\10\0\0\0\n\274\0\0\n\305@\4\10\0\0\0\n\307\0\0\n\311"..., 40= 96) =3D > 4096 > read(3, "\0\0\1J\0\0\1J\0\0\1K\0\0\1L\0\0\1L\0\0\1M\0\0\1N\0\0\1"..., 409= 6) =3D 4096 > read(3, "\0\0\37\17\0\0\37\0\0\0\37\30\0\0\37\35\0\0\37\20\0\0\37"..., 40= 96) =3D > 4096 > read(3, "\0\0\36T\0\0\36W\0\0\36W\0\0\36V\0\0\36Y\0\0\36Y\0\0\36"..., 409= 6) =3D 4096 > read(3, "@\4\211\0@\4\31\0@\4\211\0@\4\31\0@\4\211\0@\4\31\0@\4"..., 4096= ) =3D 4096 > read(3, "@$\10\0@$\10\0@$\10\0@$\10\0@$\10\0@$\10\0@$\10\0@$\10"..., 4096= ) =3D 4096 > read(3, "@\4(\0@\4(\0@\4(\0@\4(\0@\4(\0@\4(\0@\4(\0@\4(\0"..., 4096) =3D = 4096 > read(3, "\200$\10\0\200$\10\0\200$\10\0\200$\10\0\200$\10\0\200"..., 4096= ) =3D 4096 > read(3, "@\4\0\0@\4\0\0@\4\0\0@\4\0\0@\4\0\0@\4\0\0@\4\0\0@\4\0"..., 4096= ) =3D 4096 > read(3, "@\4\0\0@\4\0\0@\4\0\0@\4\0\0@\4\0\0@\4\0\0@\4\0\0@\4\0"..., 4096= ) =3D 4096 > read(3, "@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10"..., 4096= ) =3D 4096 > read(3, "@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10"..., 4096= ) =3D 4096 > read(3, "@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10"..., 4096= ) =3D 4096 > read(3, "@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10"..., 4096= ) =3D 4096 > read(3, "@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10"..., 4096= ) =3D 4096 > read(3, "@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10"..., 4096= ) =3D 4096 > read(3, "@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10"..., 4096= ) =3D 4096 > read(3, "@\4\211\0@\4\211\0@\4\211\0@\4\211\0@\4\211\0@\4\211\0"..., 4096= ) =3D 2404 > close(3) =3D 0 > open("@=04???", O_RDONLY) =3D 3 > fstat(3, {st_mode=3DS_ISGID|0100, st_size=3D38566744742757440, ...}) =3D 0 > read(3, "GBP \n\302\243\n.\n,\n3;3\n\n-\n2\n2\n1\n0\n1\n0\n1"..., 35) =3D= 35 > close(3) =3D 0 > open("", O_RDONLY) =3D 3 > fstat(3, {st_mode=3DS_ISGID|0100, st_size=3D38566744742757440, ...}) =3D 0 > read(3, ".\n,\n3;3\n", 8) =3D 8 > close(3) =3D 0 > open("", O_RDONLY) =3D 3 > fstat(3, {st_mode=3D0, st_size=3D0, ...}) =3D 0 > read(3, "Jan\nFeb\nMar\nApr\nMay\nJun\nJul\nAug\n"..., 377) =3D 377 > close(3) =3D 0 > open("Sep", O_RDONLY) =3D 3 > fstat(3, {st_mode=3D030, st_size=3D150323855394, ...}) =3D 0 > read(3, "^[yY].*\n^[nN].*\n", 16) =3D 16 > close(3) =3D 0 > geteuid(0x39) =3D 1001 > open("php_manual_en.tar.gz", O_RDONLY) =3D 3 > fstat(3, {st_mode=3DS_ISGID|0100, st_size=3D38566744742757440, ...}) =3D 0 > read(3, "\37\213\10\0\322\360IG\0\3\354\375\5\\]K\226(\16\37\202"..., 102= 40) =3D > 10240 > read(3, "\235\r\242\5\302\310\344\17\5\7a\261\35\374\227\236\335"..., 102= 40) =3D > 10240 > read(3, "\327\263h\332`\223`\335\370\274\330\323q\233p\'\234\215"..., 102= 40) =3D > 10240 > read(3, "\215*S\231\245\17hY\340\310-2h\317\2704\3312#\244\377\314"..., 1= 0240) > =3D 10240 > geteuid(0x28263140) =3D 1001 > umask(0) =3D 022 > lstat("html", 0xbfbfe7ec) =3D -1 ENOENT (No such file or di= rectory) > mkdir("html", 0755) =3D 0 > umask(022) =3D 0 > umask(0) =3D 022 > lstat("html", {st_mode=3D0, st_size=3D0, ...}) =3D 0 > mkdir("html/figures", 0755) =3D 0 > umask(022) =3D 0 > umask(0) =3D 022 > lstat("html/figures", {st_mode=3D0, st_size=3D0, ...}) =3D 0 > open("html/figures/image.imagearc.png", O_WRONLY|O_CREAT|O_EXCL, 0644) = =3D 4 > umask(022) =3D 0 > write(4, "\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\310\0\0\0\310\10\2\0"..., 16= 96) =3D > 1696 > futimes(0x4, 0xbfbfe834) =3D 0 > close(4) =3D 0 > umask(0) =3D 022 > lstat("html/figures/image.imagechar.png", 0xbfbfe7ec) =3D -1 ENOENT (No s= uch > file or directory) > open("html/figures/image.imagechar.png", O_WRONLY|O_CREAT|O_EXCL, 0644) = =3D 4 > umask(022) =3D 0 > write(4, "\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0d\0\0\0d\1\3\0\0\0J,"..., 107= ) =3D 107 > futimes(0x4, 0xbfbfe834) =3D 0 > close(4) =3D 0 > umask(0) =3D 022 > lstat("html/figures/image.imagecharup.png", 0xbfbfe7ec) =3D -1 ENOENT (No= such > file or directory) > open("html/figures/image.imagecharup.png", O_WRONLY|O_CREAT|O_EXCL, 0644)= =3D 4 > umask(022) =3D 0 > write(4, "\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0d\0\0\0d\1\3\0\0\0J,"..., 108= ) =3D 108 > futimes(0x4, 0xbfbfe834) =3D 0 > close(4) =3D 0 > umask(0) =3D 022 > lstat("html/figures/image.imagecolorallocatealpha.png", 0xbfbfe7ec) =3D -1 > ENOENT (No such file or directory) > open("html/figures/image.imagecolorallocatealpha.png", > O_WRONLY|O_CREAT|O_EXCL, 0644) =3D 4 > umask(022) =3D 0 > write(4, "\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\1,\0\0\1,\10\2\0\0\0\366"..., = 2859) > =3D 2859 > futimes(0x4, 0xbfbfe834) =3D 0 > close(4) =3D 0 >=20 > ... >=20 > umask(0) =3D 022 > lstat("html/function.fbsql-blob-size.html", 0xbfbfe7ec) =3D -1 ENOENT (No= such > file or directory) > open("html/function.fbsql-blob-size.html", O_WRONLY|O_CREAT|O_EXCL, 0644)= =3D 4 > umask(022) =3D 0 > write(4, "<!DOCTYPE HTML PUBLIC \"-//W3C//D"..., 3072) =3D 3072 > write(4, "l\">fbsql_change_user</a></div>\n "..., 175) =3D 175 > futimes(0x4, 0xbfbfe834) =3D 0 > close(4) =3D 0 > umask(0) =3D 022 > lstat("html/function.fbsql-change-user.html", 0xbfbfe7ec) =3D -1 ENOENT (= No such > file or directory) > --- SIGINT (Interrupt: 2) --- > --- SIGINT (Interrupt: 2) --- --=20 - Alfred Perlstein
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071128192752.GB71382>