Date: Wed, 28 Nov 2007 10:03:47 +0100 From: Dominic Fandrey <LoN_Kamikaze@gmx.de> To: Alfred Perlstein <alfred@freebsd.org> Cc: freebsd-stable@freebsd.org Subject: Re: msdosfs performance unbearable Message-ID: <474D2EF3.60104@gmx.de> In-Reply-To: <20071128015624.GP71382@elvis.mu.org> References: <474BD99C.7070002@gmx.de> <20071128015624.GP71382@elvis.mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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 sloppy >> 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. > > Which version of FreeBSD? can you get more information about the > FAT system? 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 Partition information: /dev/ad0s3 on /mnt/msdos/software (msdosfs, local) /dev/ad0s4 on /mnt/msdos/vault (msdosfs, local) Actually I don't know any way of aquiring (<= how is this spelled?) useful data about Fat32 partitions in FreeBSD. Anyway: mobileKamikaze$ strace -o ~/msdos.trace tar -xf php_manual_en.tar.gz ^C And here is the beginning of the trace: execve(0xbfbfe608, [0xbfbfeaf4], [/* 0 vars */]) = 0 __sysctl([...], 0xbfbfe86c, 0xbfbfe870, NULL, 0) = 0 syscall_477(0, 0x110, 0x3, 0x1000, 0xffffffff, 0, 0) = 0x28080000 munmap(0x28080000, 272) = 0 __sysctl([...], 0x2807c87c, 0xbfbfe8d0, NULL, 0) = 0 syscall_477(0, 0x8000, 0x3, 0x1002, 0xffffffff, 0, 0) = 0x28080000 issetugid(0x2807598c) = 0 open("/etc/libmap.conf", O_RDONLY) = 3 fstat(3, {st_mode=S_IFDIR|0543, st_size=18446253021508551011, ...}) = 0 read(3, "", 4096) = 0 close(3) = 0 open("/var/run/ld-elf.so.hints", O_RDONLY) = 3 read(3, "f/rtld.c:3297\n\0\0%s: Unexpected "..., 128) = 128 syscall_478(0x3, 0x80, 0, 0) = 0x80 read(3, "/lib:/usr/lib:/usr/lib/compat:/u"..., 274) = 274 close(3) = 0 access("/lib/libarchive.so.4", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib/libarchive.so.4", F_OK) = 0 open("/usr/lib/libarchive.so.4", O_RDONLY) = 3 fstat(3, {st_mode=0, st_size=0, ...}) = 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"..., 4096) = 4096 syscall_477(0, 0x25000, 0x5, 0x20002, 0x3, 0, 0) = 0x28088000 mprotect(0x280aa000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mprotect(0x280aa000, 4096, PROT_READ|PROT_EXEC) = 0 syscall_477(0x280ab000, 0x1000, 0x3, 0x12, 0x3, 0x22000, 0) = 0x280ab000 syscall_477(0x280ac000, 0x1000, 0x3, 0x1012, 0xffffffff, 0, 0) = 0x280ac000 close(3) = 0 access("/lib/libbz2.so.3", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib/libbz2.so.3", F_OK) = 0 open("/usr/lib/libbz2.so.3", O_RDONLY) = 3 fstat(3, {st_mode=0, st_size=0, ...}) = 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"..., 4096) = 4096 syscall_477(0, 0x11000, 0x5, 0x20002, 0x3, 0, 0) = 0x280ad000 mprotect(0x280bc000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mprotect(0x280bc000, 4096, PROT_READ|PROT_EXEC) = 0 syscall_477(0x280bd000, 0x1000, 0x3, 0x12, 0x3, 0xf000, 0) = 0x280bd000 close(3) = 0 access("/lib/libz.so.4", F_OK) = 0 open("/lib/libz.so.4", O_RDONLY) = 3 fstat(3, {st_mode=0, st_size=0, ...}) = 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) = 4096 syscall_477(0, 0x12000, 0x5, 0x20002, 0x3, 0, 0) = 0x280be000 mprotect(0x280ce000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mprotect(0x280ce000, 4096, PROT_READ|PROT_EXEC) = 0 syscall_477(0x280cf000, 0x1000, 0x3, 0x12, 0x3, 0x11000, 0) = 0x280cf000 close(3) = 0 access("/lib/libc.so.7", F_OK) = 0 open("/lib/libc.so.7", O_RDONLY) = 3 fstat(3, {st_mode=0, st_size=0, ...}) = 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"..., 4096) = 4096 syscall_477(0, 0xfd000, 0x5, 0x20002, 0x3, 0, 0) = 0x280d0000 mprotect(0x281b2000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mprotect(0x281b2000, 4096, PROT_READ|PROT_EXEC) = 0 syscall_477(0x281b3000, 0x6000, 0x3, 0x12, 0x3, 0xe2000, 0) = 0x281b3000 syscall_477(0x281b9000, 0x14000, 0x3, 0x1012, 0xffffffff, 0, 0) = 0x281b9000 close(3) = 0 syscall_477(0, 0x9000, 0x3, 0x1002, 0xffffffff, 0, 0) = 0x281cd000 sysarch(0xa, 0xbfbfe930) = 0 syscall_477(0, 0x4b0, 0x3, 0x1000, 0xffffffff, 0, 0) = 0x281d6000 munmap(0x281d6000, 1200) = 0 syscall_477(0, 0xa18, 0x3, 0x1000, 0xffffffff, 0, 0) = 0x281d6000 munmap(0x281d6000, 2584) = 0 syscall_477(0, 0x2b8, 0x3, 0x1000, 0xffffffff, 0, 0) = 0x281d6000 munmap(0x281d6000, 696) = 0 syscall_477(0, 0x408, 0x3, 0x1000, 0xffffffff, 0, 0) = 0x281d6000 munmap(0x281d6000, 1032) = 0 syscall_477(0, 0x51c8, 0x3, 0x1000, 0xffffffff, 0, 0) = 0x281d6000 munmap(0x281d6000, 20936) = 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) = 0 sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV SYS], []) = 0 sigprocmask(SIG_SETMASK, [], NULL) = 0 open("", O_RDONLY) = 3 fstat(3, {st_mode=0, st_size=130023424, ...}) = 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) = 0 __sysctl([sysctl.0], 2, "", [0], NULL, 0) = 0 __sysctl([4096.0], 2, "", [0], NULL, 0) = 0 readlink("/etc/malloc.conf", 0xbfbfdf7b, 1024) = -1 ENOENT (No such file or directory) issetugid(0x281aa366) = 0 break(0x8100000) = 0 __sysctl([181832331.185240637], 2, "ena\n\0\0\0\0: (malloc) Unsupported c"..., [1918967911], NULL, 0) = 0 syscall_477(0, 0x200000, 0x3, 0x1002, 0xffffffff, 0, 0) = 0x281d6000 munmap(0x281d6000, 172032) = 0 munmap(0x28300000, 876544) = 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"..., 4096) = 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) = 546 close(3) = 0 open("", O_RDONLY) = 3 fstat(3, {st_mode=0, st_size=24206847997116416, ...}) = 0 fstat(3, {st_mode=0133, st_size=95, ...}) = 0 syscall_478(0x3, 0, 0, 0x1) = 0 syscall_478(0x3, 0, 0, 0) = 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) = 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"..., 4096) = 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"..., 4096) = 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"..., 4096) = 4096 read(3, "\0\0\36T\0\0\36W\0\0\36W\0\0\36V\0\0\36Y\0\0\36Y\0\0\36"..., 4096) = 4096 read(3, "@\4\211\0@\4\31\0@\4\211\0@\4\31\0@\4\211\0@\4\31\0@\4"..., 4096) = 4096 read(3, "@$\10\0@$\10\0@$\10\0@$\10\0@$\10\0@$\10\0@$\10\0@$\10"..., 4096) = 4096 read(3, "@\4(\0@\4(\0@\4(\0@\4(\0@\4(\0@\4(\0@\4(\0@\4(\0"..., 4096) = 4096 read(3, "\200$\10\0\200$\10\0\200$\10\0\200$\10\0\200$\10\0\200"..., 4096) = 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) = 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) = 4096 read(3, "@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10"..., 4096) = 4096 read(3, "@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10"..., 4096) = 4096 read(3, "@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10"..., 4096) = 4096 read(3, "@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10"..., 4096) = 4096 read(3, "@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10"..., 4096) = 4096 read(3, "@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10"..., 4096) = 4096 read(3, "@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10\0@\4\10"..., 4096) = 4096 read(3, "@\4\211\0@\4\211\0@\4\211\0@\4\211\0@\4\211\0@\4\211\0"..., 4096) = 2404 close(3) = 0 open("@�", O_RDONLY) = 3 fstat(3, {st_mode=S_ISGID|0100, st_size=38566744742757440, ...}) = 0 read(3, "GBP \n\302\243\n.\n,\n3;3\n\n-\n2\n2\n1\n0\n1\n0\n1"..., 35) = 35 close(3) = 0 open("", O_RDONLY) = 3 fstat(3, {st_mode=S_ISGID|0100, st_size=38566744742757440, ...}) = 0 read(3, ".\n,\n3;3\n", 8) = 8 close(3) = 0 open("", O_RDONLY) = 3 fstat(3, {st_mode=0, st_size=0, ...}) = 0 read(3, "Jan\nFeb\nMar\nApr\nMay\nJun\nJul\nAug\n"..., 377) = 377 close(3) = 0 open("Sep", O_RDONLY) = 3 fstat(3, {st_mode=030, st_size=150323855394, ...}) = 0 read(3, "^[yY].*\n^[nN].*\n", 16) = 16 close(3) = 0 geteuid(0x39) = 1001 open("php_manual_en.tar.gz", O_RDONLY) = 3 fstat(3, {st_mode=S_ISGID|0100, st_size=38566744742757440, ...}) = 0 read(3, "\37\213\10\0\322\360IG\0\3\354\375\5\\]K\226(\16\37\202"..., 10240) = 10240 read(3, "\235\r\242\5\302\310\344\17\5\7a\261\35\374\227\236\335"..., 10240) = 10240 read(3, "\327\263h\332`\223`\335\370\274\330\323q\233p\'\234\215"..., 10240) = 10240 read(3, "\215*S\231\245\17hY\340\310-2h\317\2704\3312#\244\377\314"..., 10240) = 10240 geteuid(0x28263140) = 1001 umask(0) = 022 lstat("html", 0xbfbfe7ec) = -1 ENOENT (No such file or directory) mkdir("html", 0755) = 0 umask(022) = 0 umask(0) = 022 lstat("html", {st_mode=0, st_size=0, ...}) = 0 mkdir("html/figures", 0755) = 0 umask(022) = 0 umask(0) = 022 lstat("html/figures", {st_mode=0, st_size=0, ...}) = 0 open("html/figures/image.imagearc.png", O_WRONLY|O_CREAT|O_EXCL, 0644) = 4 umask(022) = 0 write(4, "\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\310\0\0\0\310\10\2\0"..., 1696) = 1696 futimes(0x4, 0xbfbfe834) = 0 close(4) = 0 umask(0) = 022 lstat("html/figures/image.imagechar.png", 0xbfbfe7ec) = -1 ENOENT (No such file or directory) open("html/figures/image.imagechar.png", O_WRONLY|O_CREAT|O_EXCL, 0644) = 4 umask(022) = 0 write(4, "\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0d\0\0\0d\1\3\0\0\0J,"..., 107) = 107 futimes(0x4, 0xbfbfe834) = 0 close(4) = 0 umask(0) = 022 lstat("html/figures/image.imagecharup.png", 0xbfbfe7ec) = -1 ENOENT (No such file or directory) open("html/figures/image.imagecharup.png", O_WRONLY|O_CREAT|O_EXCL, 0644) = 4 umask(022) = 0 write(4, "\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0d\0\0\0d\1\3\0\0\0J,"..., 108) = 108 futimes(0x4, 0xbfbfe834) = 0 close(4) = 0 umask(0) = 022 lstat("html/figures/image.imagecolorallocatealpha.png", 0xbfbfe7ec) = -1 ENOENT (No such file or directory) open("html/figures/image.imagecolorallocatealpha.png", O_WRONLY|O_CREAT|O_EXCL, 0644) = 4 umask(022) = 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) = 2859 futimes(0x4, 0xbfbfe834) = 0 close(4) = 0 ... umask(0) = 022 lstat("html/function.fbsql-blob-size.html", 0xbfbfe7ec) = -1 ENOENT (No such file or directory) open("html/function.fbsql-blob-size.html", O_WRONLY|O_CREAT|O_EXCL, 0644) = 4 umask(022) = 0 write(4, "<!DOCTYPE HTML PUBLIC \"-//W3C//D"..., 3072) = 3072 write(4, "l\">fbsql_change_user</a></div>\n "..., 175) = 175 futimes(0x4, 0xbfbfe834) = 0 close(4) = 0 umask(0) = 022 lstat("html/function.fbsql-change-user.html", 0xbfbfe7ec) = -1 ENOENT (No such file or directory) --- SIGINT (Interrupt: 2) --- --- SIGINT (Interrupt: 2) ---
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?474D2EF3.60104>