> I just had a quick play with gzip compression on a filesystem and the > result was the machine grinding to a halt while copying some large > (.wav) files to it from another filesystem in the same pool. > > The system became very unresponsive, taking several seconds to echo > keystrokes. The box is a maxed out AMD QuadFX, so it should have plenty > of grunt for this.
I've observed the same behavior. With my test I've used a zpool created on a 1GB file (on an UFS filesystem): # mkfile 1G /var/tmp/vdev_for_gzip_pool # zpool create gzip_pool /var/tmp/vdev_for_gzip_pool # zfs set compression=gzip gzip_pool # chown jk /gzip_pool Now, when I run this command... % dd bs=128k if=/dev/urandom of=/gzip_pool/junk ... the mouse cursor sometimes is frozen for two (or more) seconds. Same with keyboard input. This is on an amd64 x2 box, 4gb memory, and usb keyboard and usb mouse. Lots of system cpu time is used while the gzip compressed poll is filled: % mpstat 5 CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 0 47 1 122 646 316 317 13 24 8 2 1024 3 3 0 94 1 41 1 159 334 101 279 11 24 8 2 900 2 3 0 94 CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 0 1 0 6860 7263 282 73 2 2 78 1 64 0 70 0 30 1 0 0 6866 6870 10 4 9 1 85 0 121 0 100 0 0 CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 0 0 0 6 576 301 465 3 19 18 146 126 1 5 0 95 1 0 0 36 1471 1276 410 29 20 24 115 335 0 59 0 41 CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 0 0 0 5404 5823 309 113 2 2 57 1 420 0 56 0 44 1 0 0 5409 5431 13 5 12 1 80 1 179 0 100 0 0 CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 0 0 0 1 529 300 281 17 13 10 103 274 0 64 0 36 1 0 0 9 1348 1169 452 8 23 14 105 163 0 5 0 95 CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 0 0 0 6186 6607 282 62 8 9 55 11 123 0 88 0 12 1 0 0 6196 6259 53 78 4 3 80 12 132 0 75 0 25 A kernel profile seems to show that the kernel is busy with gzip'ing (and busy with computing SHA1 hashes?): # lockstat -kIW -D 20 sleep 20 Profiling interrupt: 3882 events in 20.021 seconds (194 events/sec) Count indv cuml rcnt nsec Hottest CPU+PIL Caller ------------------------------------------------------------------------------- 1802 46% 46% 0.00 1931 cpu[0] mach_cpu_idle 517 13% 60% 0.00 6178 cpu[1] SHA1Transform 482 12% 72% 0.00 1094 cpu[0] deflate_slow 328 8% 81% 0.00 1111 cpu[1] longest_match 104 3% 83% 0.00 940 cpu[0] fill_window 98 3% 86% 0.00 47357 cpu[1] bcopy 65 2% 87% 0.00 5438 cpu[1] SHA1Update 63 2% 89% 0.00 834 cpu[1] bzero 50 1% 90% 0.00 1042 cpu[0] pqdownheap 44 1% 92% 0.00 676 cpu[1] Encode 32 1% 92% 0.00 1136 cpu[0] copy_block 24 1% 93% 0.00 1214 cpu[1] do_copy_fault_nta 23 1% 94% 0.00 401205 cpu[0] do_splx 23 1% 94% 0.00 644 cpu[1] hmac_encr 22 1% 95% 0.00 1058 cpu[1] z_adler32 19 0% 95% 0.00 1208 cpu[0]+10 todpc_rtcget 16 0% 96% 0.00 752 cpu[0] SHA1Final 14 0% 96% 0.00 1186 cpu[1] mutex_enter 12 0% 96% 0.00 642 cpu[1] kcopy 11 0% 97% 0.00 948 cpu[0] page_create_va ------------------------------------------------------------------------------- This message posted from opensolaris.org _______________________________________________ zfs-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
