[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#364119: kwin writes to disk synchronously



Package: kwin
Severity: normal

Hi there,

I got a report from a laptop-mode-tools user saying that kwin kept his disk spun up. I checked his logs, and indeed it seems to be the case that his kwin process explicitly syncs pretty regularly. I straced my own kwin to confirm this behaviour, and I see the following:

open("/home/bsamwel/.kde/share/config/kwinrulesrc6EREMa.new", O_RDWR|O_CREAT|O_EXCL, 0600) = 11
umask(0)                                = 022
umask(022)                              = 0
fchmod(11, 0600)                        = 0
getgid32()                              = 1000
getuid32()                              = 1000
fchown32(11, 1000, 1000)                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
stat64("/home/bsamwel/.kde/share/config/kwinrulesrc", {st_mode=S_IFREG|0600, st_size=824, ...}) = 0
getuid32()                              = 1000
getgid32()                              = 1000
fchmod(11, 0100600)                     = 0
fchmod(11, 0600)                        = 0
fcntl64(11, F_GETFL)                    = 0x2 (flags O_RDWR)
fstat64(11, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6705000
_llseek(11, 0, [0], SEEK_CUR)           = 0
write(11, "[1]\ndescription=(Default) Disabl"..., 824) = 824
fdatasync(11)                           = 0
close(11)                               = 0
munmap(0xb6705000, 4096)                = 0
rename("/home/bsamwel/.kde/share/config/kwinrulesrc6EREMa.new", "/home/bsamwel/.kde/share/config/kwinrulesrc") = 0


and then:


open("/home/bsamwel/.kde/share/config/kdeglobalsZbum9a.new", O_RDWR|O_CREAT|O_EXCL, 0600) = 11
umask(0)                                = 022
umask(022)                              = 0
fchmod(11, 0600)                        = 0
getgid32()                              = 1000
getuid32()                              = 1000
fchown32(11, 1000, 1000)                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
stat64("/home/bsamwel/.kde/share/config/kdeglobals", {st_mode=S_IFREG|0600, st_size=5804, ...}) = 0
getuid32()                              = 1000
getgid32()                              = 1000
fchmod(11, 0100600)                     = 0
fchmod(11, 0600)                        = 0
fcntl64(11, F_GETFL)                    = 0x2 (flags O_RDWR)
fstat64(11, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6705000
_llseek(11, 0, [0], SEEK_CUR)           = 0
write(11, "[$Version]\nupdate_info=kded.upd:"..., 4096) = 4096
write(11, "ndow to Desktop 2=none\nWindow to"..., 1708) = 1708
fdatasync(11)                           = 0
close(11)                               = 0
munmap(0xb6705000, 4096)                = 0
rename("/home/bsamwel/.kde/share/config/kdeglobalsZbum9a.new", "/home/bsamwel/.kde/share/config/kdeglobals") = 0


So, here's my question: is that call to fdatasync() really necessary? And can it be disabled somehow? It makes laptop mode pretty much unusable on KDE. :-(


Cheers,
Bart Samwel



Reply to: