I've recently started doing ON nightly builds on zfs filesystems on the
internal ATA disk of a Blade 1500 running snv_42.  Unfortunately, the
builds are extremely slow compared to building on an external IEEE 1394
disk attached to the same machine:

ATA disk:

==== Elapsed build time (DEBUG) ====

real 21:40:57.7
user  4:32:15.6
sys   8:22:24.1

IEEE 1394 disk:

==== Elapsed build time (DEBUG) ====

real  6:14:11.4
user  4:28:54.1
sys     36:04.1

Running kernel profile with lockstat (lockstat -kIW -D 20 sleep 300), I
find in the ATA case:

Profiling interrupt: 29117 events in 300.142 seconds (97 events/sec)

Count indv cuml rcnt     nsec Hottest CPU+PIL        Caller                  
-------------------------------------------------------------------------------
15082  52%  52% 0.00     1492 cpu[0]                 (usermode)              
 9565  33%  85% 0.00      318 cpu[0]                 usec_delay              

compared to IEEE 1394:

Profiling interrupt: 29195 events in 300.969 seconds (97 events/sec)

Count indv cuml rcnt     nsec Hottest CPU+PIL        Caller                  
-------------------------------------------------------------------------------
20042  69%  69% 0.00     2000 cpu[0]                 (usermode)              
 5414  19%  87% 0.00      317 cpu[0]                 usec_delay              

At other times, the kernel time can be even as high as 80%.  Unfortunately,
I've not been able to investigate how usec_delay is called since there's no
fbt provider for that function (nor for the alternative entry point
drv_usecwait found in uts/sun4[uv]/cpu/common_asm.s), so I'm a bit stuck
how to further investigate this.  I suspect that the dad(7D) driver is the
culprit, but it is only included in the closed tarball.  In the EDU S9
sources, I find that dcd_flush_cache() calls drv_usecwait(1000000), which
might be the cause of this.

How should I proceed to further investigate this, and can this be fixed
somehow?  This way, the machine is almost unusable as a build machine.

        Rainer

-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to