awful KIO smb performance / kwallet

Martin Koller m.koller at surfeu.at
Wed Mar 8 08:55:56 GMT 2006


Hi all,

I tried to copy a lot of files (5263, sum 123,8MB) via kio smb:// from a 
server to my local machine (KDE > 3.5.1, Linux).
Effectively the CPU went to 100% and after a while the progress dialog was 
still counting the number of files, where I thought what the heck is going 
on ...
I started strace on the kdeinit process and saw that there is a lot of access 
to various kwallet files but also to kdeglobals.
See a part of the logfile below.

The output of "time kfmclient copy smb:// ..." was:
27.759u 2.485s 6:56.56 7.2%     0+0k 0+0io 0pf+0w
(nearly 7 Minutes!)

Has anybody an explanation why all this stuff is needed or how it can be 
avoided ?
Is this a bug or a design flaw or no chance to change that ?

In comparison, with the smbfs mounted filesystem and a cp -R I got the 
following time output and the CPU was more or less idle all the time:
0.110u 1.941s 0:47.95 4.2%      0+0k 0+0io 1pf+0w
(not 1 Minute!)

Doing a "time kfmclient copy /mnt/...." (copy via the mounted fs):
13.357u 0.768s 1:24.35 16.7%    0+0k 0+0io 0pf+0w


fstat64(14, {st_mode=S_IFREG|0600, st_size=20010, ...}) = 0
munmap(0x421c4000, 20010)               = 0
rt_sigaction(SIGBUS, {SIG_DFL}, NULL, 8) = 0
close(14)                               = 0
stat64("/root/.kde/share/config/kwalletrc", {st_mode=S_IFREG|0600, 
st_size=255, ...}) = 0
stat64("/disc/kde3/share/config/kwalletrc", 0xbfffde50) = -1 ENOENT (No such 
file or directory)
open("/root/.kde/share/config/kwalletrc", O_RDONLY|O_LARGEFILE) = 14
fstat64(14, {st_mode=S_IFREG|0600, st_size=255, ...}) = 0
fstat64(14, {st_mode=S_IFREG|0600, st_size=255, ...}) = 0
old_mmap(NULL, 255, PROT_READ, MAP_PRIVATE, 14, 0) = 0x421c4000
fstat64(14, {st_mode=S_IFREG|0600, st_size=255, ...}) = 0
rt_sigaction(SIGBUS, {0x416d3bc0, [], SA_RESTORER|SA_ONESHOT, 0x4185d988}, 
{SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
fstat64(14, {st_mode=S_IFREG|0600, st_size=255, ...}) = 0
munmap(0x421c4000, 255)                 = 0
rt_sigaction(SIGBUS, {SIG_DFL}, NULL, 8) = 0
close(14)                               = 0
stat64("/root/.kde/share/apps/kwallet/", {st_mode=S_IFDIR|0700, 
st_size=4096, ...}) = 0
open("/root/.kde/share/apps/kwallet", O_RDONLY|O_NONBLOCK|O_LARGEFILE|
O_DIRECTORY) = 14
fstat64(14, {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
fcntl64(14, F_SETFD, FD_CLOEXEC)        = 0
getdents64(14, /* 3 entries */, 4096)   = 88
lstat64("/root/.kde/share/apps/kwallet/kdewallet.kwl", {st_mode=S_IFREG|0644, 
st_size=22828, ...}) = 0
getdents64(14, /* 0 entries */, 4096)   = 0
close(14)                               = 0
write(3, "\1\3\1\0\251\0\0\0\36\1\0\0", 12) = 12
write(3, "\0\0\0\5kded\0\0\0\0\17anonymous-5998\0\0\0\0\16"..., 50) = 50
write(3, "\0\0\0\6\0s\0m\0b\377\377\377\377\377\377\377\377\0\0\0"..., 119) = 
119
gettimeofday({1141806147, 487632}, NULL) = 0
ioctl(4, FIONREAD, [32])                = 0
read(4, "\2$\3\236\237\31\330\4H\0\0\0005\1@\2\0\0\0\0\370\0029"..., 32) = 32
write(4, " \0\2\0\237\31\330\4", 8)     = 8
time(NULL)                              = 1141806147
ioctl(4, FIONREAD, [32])                = 0
read(4, "\34\0\3\236\5\0@\2\346\0\0\0\242\31\330\4\0\0\0\0\5\0@"..., 32) = 32
ioctl(4, FIONREAD, [0])                 = 0
ioctl(4, FIONREAD, [0])                 = 0
ioctl(4, FIONREAD, [0])                 = 0
gettimeofday({1141806147, 490861}, NULL) = 0
select(14, [3 4 5 7 10 13], [], [], {0, 9}) = 1 (in [3], left {0, 1000})
select(4, [3], NULL, NULL, {0, 0})      = 1 (in [3], left {0, 0})
read(3, "\2\2\0\2\327\0\0\0", 8)        = 8
read(3, "\35\1\0\0", 4)                 = 4
read(3, "\0\0\0\17anonymous-5962\0\0\0\0\5kded\0\0\0\0\16"..., 215) = 215
stat64("/root/.kde/share/config/", {st_mode=S_IFDIR|0755, st_size=12288, ...}) 
= 0
stat64("/root/.kde/share/config/", {st_mode=S_IFDIR|0755, st_size=12288, ...}) 
= 0
access("/root/.kde/share/config/kwalletrc", W_OK) = 0
lstat64("/root/.kde/share/config/kwalletrc", {st_mode=S_IFREG|0600, 
st_size=255, ...}) = 0
stat64("/root/.kde/share/config/kdeglobals", {st_mode=S_IFREG|0600, 
st_size=20010, ...}) = 0
stat64("/disc/kde3/share/config/kdeglobals", 0xbfffde50) = -1 ENOENT (No such 
file or directory)
access("/etc/kderc", R_OK)              = -1 ENOENT (No such file or 
directory)
stat64("/root/.kde/share/config/system.kdeglobals", 0xbfffde50) = -1 ENOENT 
(No such file or directory)
stat64("/disc/kde3/share/config/system.kdeglobals", 0xbfffde50) = -1 ENOENT 
(No such file or directory)
open("/root/.kde/share/config/kdeglobals", O_RDONLY|O_LARGEFILE) = 14
fstat64(14, {st_mode=S_IFREG|0600, st_size=20010, ...}) = 0
fstat64(14, {st_mode=S_IFREG|0600, st_size=20010, ...}) = 0
old_mmap(NULL, 20010, PROT_READ, MAP_PRIVATE, 14, 0) = 0x421c4000
fstat64(14, {st_mode=S_IFREG|0600, st_size=20010, ...}) = 0
rt_sigaction(SIGBUS, {0x416d3bc0, [], SA_RESTORER|SA_ONESHOT, 0x4185d988}, 
{SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
fstat64(14, {st_mode=S_IFREG|0600, st_size=20010, ...}) = 0
munmap(0x421c4000, 20010)               = 0
rt_sigaction(SIGBUS, {SIG_DFL}, NULL, 8) = 0
close(14)                               = 0
stat64("/root/.kde/share/config/kwalletrc", {st_mode=S_IFREG|0600, 
st_size=255, ...}) = 0
stat64("/disc/kde3/share/config/kwalletrc", 0xbfffde50) = -1 ENOENT (No such 
file or directory)
open("/root/.kde/share/config/kwalletrc", O_RDONLY|O_LARGEFILE) = 14
fstat64(14, {st_mode=S_IFREG|0600, st_size=255, ...}) = 0
fstat64(14, {st_mode=S_IFREG|0600, st_size=255, ...}) = 0
old_mmap(NULL, 255, PROT_READ, MAP_PRIVATE, 14, 0) = 0x421c4000
...

-- 
Best regards/Schöne Grüße

Martin

Computers and Internet gave you freedom.
TCPA would TAKE your FREEDOM!  http://www.againsttcpa.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20060308/77f7d71e/attachment.sig>


More information about the kde-core-devel mailing list