Version: 4.0 (using KDE 4.0.0) Installed from: Compiled From Sources OS: Linux Knotify4 often generates a high CPU loads for no apparent reason. I haven't been able to connect this behaviour with the use of any particular application, and if I kill it nothing special happens. If it can help, below is a backtrace and the output of strace. #0 0xffffe410 in __kernel_vsyscall () #1 0xb6c7c817 in poll () from /lib/libc.so.6 #2 0xb6a679a5 in ?? () from /usr/lib/libglib-2.0.so.0 #3 0x0806dc50 in ?? () #4 0x00000005 in ?? () #5 0xb6a67f2e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #6 0xb7e4d982 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #7 0xb74cb735 in QGuiEventDispatcherGlib::processEvents () from /usr/lib/libQtGui.so.4 #8 0xb7e2ad58 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #9 0xb7e2ae6c in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #10 0xb7e2d76a in QCoreApplication::exec () from /usr/lib/libQtCore.so.4 #11 0xb7451767 in QApplication::exec () from /usr/lib/libQtGui.so.4 #12 0x0804d160 in main (argc=-1222185144, argv=0x80eae80) at /home/kde-devel/kde/src/KDE/kdebase/runtime/knotify/main.cpp:68 clock_gettime(CLOCK_MONOTONIC, {39567, 452164253}) = 0 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=8, events=POLLIN}, {fd=13, events=POLLIN}, {fd=17, events=POLLIN, revents=POLLIN}, {fd=10, events=POLLIN}, {fd=21, events=POLLIN}], 5, -1) = 1 read(17, "\34\237\207\0\246\1\0\0\327\1\0\0\177\300[\2\0\21\t\0100H \10\260\24\345\277\330\24\345\277", 4096) = 32 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) clock_gettime(CLOCK_MONOTONIC, {39567, 491365463}) = 0 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=8, events=POLLIN}, {fd=13, events=POLLIN}, {fd=17, events=POLLIN, revents=POLLIN}, {fd=10, events=POLLIN}, {fd=21, events=POLLIN}], 5, -1) = 1 read(17, "\v\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 128 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) clock_gettime(CLOCK_MONOTONIC, {39568, 600680276}) = 0 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=8, events=POLLIN}, {fd=13, events=POLLIN}, {fd=17, events=POLLIN, revents=POLLIN}, {fd=10, events=POLLIN}, {fd=21, events=POLLIN}], 5, -1) = 1 read(17, "\34\237\207\0\246\1\0\0\253\1\0\0\355\304[\2\0\21\t\0100H \10\260\24\345\277\330\24\345\277", 4096) = 32 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) clock_gettime(CLOCK_MONOTONIC, {39568, 622407670}) = 0 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=8, events=POLLIN}, {fd=13, events=POLLIN}, {fd=17, events=POLLIN, revents=POLLIN}, {fd=10, events=POLLIN}, {fd=21, events=POLLIN}], 5, -1) = 1 read(17, "\34\237\207\0\246\1\0\0\327\1\0\0\263\305[\2\0\21\t\0100H \10\260\24\345\277\330\24\345\277", 4096) = 32 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) clock_gettime(CLOCK_MONOTONIC, {39568, 822961346}) = 0 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=8, events=POLLIN}, {fd=13, events=POLLIN}, {fd=17, events=POLLIN},{fd=10, events=POLLIN}, {fd=21, events=POLLIN, revents=POLLIN}], 5, -1) = 1 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(21, "l\4\1\1 \0\0\0\240\0\0\0\211\0\0\0\1\1o\0\25\0\0\0/org/fre"..., 2048) = 381 read(21, 0x8187010, 2048) = -1 EAGAIN (Resource temporarily unavailable) write(14, "\0", 1) = 1 write(14, "\0", 1) = 1 clock_gettime(CLOCK_MONOTONIC, {39572, 855232704}) = 0 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=8, events=POLLIN}, {fd=13, events=POLLIN, revents=POLLIN}, {fd=17,events=POLLIN}, {fd=10, events=POLLIN}, {fd=21, events=POLLIN}], 5, 0) = 1 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(13, "\0\0", 16) = 2 read(13, 0xbfb238d8, 16) = -1 EAGAIN (Resource temporarily unavailable) clock_gettime(CLOCK_MONOTONIC, {39572, 855473949}) = 0 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=8, events=POLLIN}, {fd=13, events=POLLIN}, {fd=17, events=POLLIN},{fd=10, events=POLLIN}, {fd=21, events=POLLIN, revents=POLLIN}], 5, -1) = 1 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(21, "l\4\1\1 \0\0\0\242\0\0\0\211\0\0\0\1\1o\0\25\0\0\0/org/fre"..., 2048) = 192 read(21, 0x8187010, 2048) = -1 EAGAIN (Resource temporarily unavailable) write(14, "\0", 1) = 1 clock_gettime(CLOCK_MONOTONIC, {39578, 867912391}) = 0 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=8, events=POLLIN}, {fd=13, events=POLLIN, revents=POLLIN}, {fd=17,events=POLLIN}, {fd=10, events=POLLIN}, {fd=21, events=POLLIN}], 5, 0) = 1 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(13, "\0", 16) = 1 read(13, 0xbfb238d8, 16) = -1 EAGAIN (Resource temporarily unavailable) clock_gettime(CLOCK_MONOTONIC, {39578, 868131914}) = 0 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=8, events=POLLIN}, {fd=13, events=POLLIN}, {fd=17, events=POLLIN},{fd=10, events=POLLIN}, {fd=21, events=POLLIN, revents=POLLIN}], 5, -1) = 1 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(21, "l\4\1\1\35\0\0\0\243\0\0\0\211\0\0\0\1\1o\0\25\0\0\0/org/fre"..., 2048) = 189 read(21, 0x8187010, 2048) = -1 EAGAIN (Resource temporarily unavailable) write(14, "\0", 1) = 1 clock_gettime(CLOCK_MONOTONIC, {39578, 877969968}) = 0 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=8, events=POLLIN}, {fd=13, events=POLLIN, revents=POLLIN}, {fd=17,events=POLLIN}, {fd=10, events=POLLIN}, {fd=21, events=POLLIN}], 5, 0) = 1 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(13, "\0", 16) = 1 read(13, 0xbfb238d8, 16) = -1 EAGAIN (Resource temporarily unavailable) clock_gettime(CLOCK_MONOTONIC, {39578, 879055503}) = 0 read(17, 0x8071754, 4096) = -1 EAGAIN (Resource temporarily unavailable)
Is this a duplicate of #156215?
It definitely seems related. I installed powertop, and when the CPU usage goes up, the number of wakeups due to knotify4 also goes up 96.5% (10018.5) <interrupt> : extra timer interrupt 2.3% (238.7) knotify4 : futex_wait (hrtimer_wakeup)
SVN commit 798568 by ogoffart: Backport: cache the KSharedConfigPtr, because parsing the config file is slow. BUG: 156346 M +15 -2 knotifyconfig.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=798568