From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Riffard Subject: 2.6.16-rc6-mm2: slow writes on reiser4. Date: Tue, 21 Mar 2006 22:16:44 +0100 Message-ID: <44206D3C.7050504@free.fr> Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Return-path: list-help: list-unsubscribe: list-post: Errors-To: flx@namesys.com List-Id: Content-Type: text/plain; charset="iso-8859-1" To: reiserfs-list@namesys.com Hello, Writing big files is very slow on reiser4 now.=20 "dd if=3D/dev/zero of=3Dtoto bs=3D1k count=3D102400; sync" takes more than = 2 minutes on=20 reiser4 fs, but only 15 seconds on reiserfs fs. Actually, writing on reiser4 is not uniformly slow, it seems to be blocked = for=20 ages from time to time. I monitored the number of dirty pages from /proc/me= minfo=20 an I hit sysrq-T when the system was stalling: =20 dd D 000017DE 0 21930 21929 (NOTLB) d7169c74 e0c98b05 00000246 000017de 00000000 f396aa00 003d1249 d0b68= 140 d0b68030 f396aa00 003d1249 6d519e00 00000002 c0396434 d8bf8e30 d8bf8= e38 00000246 d7169ca0 c0270f08 d0b68030 00000001 d0b68030 c0113b25 d8bf8= e38 Call Trace: [] __down+0x81/0xdc [] __down_failed+0xa/0x10 [] .text.lock.lock+0x15/0x1b [reiser4] [] longterm_lock_znode+0x5b4/0x7b0 [reiser4] [] cbk_level_lookup+0x8a/0x954 [reiser4] [] traverse_tree+0x752/0xa0d [reiser4] [] coord_by_handle+0x781/0x789 [reiser4] [] object_lookup+0x1eb/0x230 [reiser4] [] find_file_item+0x18d/0x1b7 [reiser4] [] write_flow+0x208/0x6e1 [reiser4] [] write_unix_file+0x3d9/0x5b0 [reiser4] [] vfs_write+0x8a/0x133 [] sys_write+0x3b/0x60 [] sysenter_past_esp+0x54/0x75 Below are the detailed test I ran. Feel free to ask for more information. Reiser4 FS =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Desktop$ cd ~/kernel kernel$ df . Sys. de fich. Tail. Occ. Disp. %Occ. Mont=E9 sur /dev/hda8 925M 825M 101M 90% /home/laurent/kernel kernel$ grep hda8 /proc/mounts /dev/hda8 /home/laurent/kernel reiser4 rw,nosuid,nodev,atom_max_size=3D0x7e= 0c,atom_max_age=3D0x249f0,atom_min_size=3D0x100,atom_max_flushers=3D0x1,cbk= _cache_slots=3D0x10 0 0 kernel$ sync; time dd if=3D/dev/zero of=3Dtoto bs=3D1k count=3D102400; time= sync=20 102400+0 enregistrements lus. 102400+0 enregistrements =E9crits. 0.06user 13.95system 1:42.09elapsed 13%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+250minor)pagefaults 0swaps 0.00user 0.00system 1:22.90elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+191minor)pagefaults 0swaps kernel$ sync; time dd if=3D/dev/zero of=3Dtoto bs=3D1k count=3D102400; time= sync=20 102400+0 enregistrements lus. 102400+0 enregistrements =E9crits. 0.08user 14.01system 1:45.57elapsed 13%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+249minor)pagefaults 0swaps 0.00user 0.00system 0:09.78elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+191minor)pagefaults 0swaps kernel$ sync; time dd if=3D/dev/zero of=3Dtoto bs=3D1k count=3D102400; time= sync=20 102400+0 enregistrements lus. 102400+0 enregistrements =E9crits. 0.06user 14.13system 2:18.27elapsed 10%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+251minor)pagefaults 0swaps 0.00user 0.00system 0:08.48elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+190minor)pagefaults 0swaps kernel$ sync; time dd if=3D/dev/zero of=3Dtoto bs=3D1k count=3D102400; time= sync=20 102400+0 enregistrements lus. 102400+0 enregistrements =E9crits. 0.06user 14.27system 1:56.34elapsed 12%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+251minor)pagefaults 0swaps 0.00user 0.00system 0:10.46elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+190minor)pagefaults 0swaps Reiserfs FS =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D kernel$ cd ~$ df . Sys. de fich. Tail. Occ. Disp. %Occ. Mont=E9 sur /dev/mapper/vglinux1-lvhome 7,0G 4,8G 2,3G 68% /home [/dev/mapper/vglinux1-lvhome resides on /dev/hda4] ~$ grep lvhome /proc/mounts /dev/vglinux1/lvhome /home reiserfs rw 0 0 ~$ sync; time dd if=3D/dev/zero of=3Dtoto bs=3D1k count=3D102400; time sync= =20 102400+0 enregistrements lus. 102400+0 enregistrements =E9crits. 0.04user 1.75system 0:02.05elapsed 87%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+249minor)pagefaults 0swaps 0.00user 0.10system 0:12.93elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+191minor)pagefaults 0swaps ~$ sync; time dd if=3D/dev/zero of=3Dtoto bs=3D1k count=3D102400; time sync= =20 102400+0 enregistrements lus. 102400+0 enregistrements =E9crits. 0.04user 1.83system 0:01.98elapsed 94%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+250minor)pagefaults 0swaps 0.00user 0.16system 0:14.45elapsed 1%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+191minor)pagefaults 0swaps ~$ sync; time dd if=3D/dev/zero of=3Dtoto bs=3D1k count=3D102400; time sync= =20 102400+0 enregistrements lus. 102400+0 enregistrements =E9crits. 0.04user 1.79system 0:01.95elapsed 93%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+250minor)pagefaults 0swaps 0.00user 0.10system 0:13.47elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+190minor)pagefaults 0swaps ~~ laurent