A lot of CPU Cycles spend even when idle
Description
If gnome-todo is running and just showing the List of items I would expect that it does consume nearly no CPU cycles. But top shows 5% CPU and powertop shows a usage of 28 ms/s.
Obviously gnome-todo uses poll in a loop. Here's an extract of a strace output.
poll([{fd=3, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}], 3, 334) = 1 ([{fd=11, revents=POLLIN}])
recvmsg(11, {msg_name(0)=NULL, msg_iov(1)=[{"\241 6\25\7\0\340\1b\1\0\0L\0\0\0\0\0\0\0;1\0\0)A\0\0\320\7\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(11, 0x7ffc27597be0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(11, 0x7ffc27597a90, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(11, 0x7ffc27597bc0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}], 3, 326) = 1 ([{fd=11, revents=POLLIN}])
recvmsg(11, {msg_name(0)=NULL, msg_iov(1)=[{"\241 6\25\7\0\340\1a\1\0\0N\0\0\0\0\0\0\0\366'\220|s\0\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(11, 0x7ffc27597be0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(11, 0x7ffc27597a90, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(11, 0x7ffc27597bc0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}], 3, 0) = 0 (Timeout)
recvmsg(11, 0x7ffc27596dc0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=11, revents=POLLOUT}])
writev(11, [{"\22\0\n\0\7\0\340\1\224\1\0\0\6\0\0\0 \0\0\0\4\0\0\0\32\0\0\0\32\0\0\0"..., 4792}, {NULL, 0}, {"", 0}], 3) = 4792
recvmsg(11, 0x7ffc27597bc0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}], 3, 318) = 1 ([{fd=11, revents=POLLIN}])
recvmsg(11, {msg_name(0)=NULL, msg_iov(1)=[{"\34\0007\25\7\0\340\1\224\1\0\0007\207\220\35\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 64
recvmsg(11, {msg_name(0)=NULL, msg_iov(1)=[{"A\0I\25\372\4\340\1\3\0\202\0\5\0\340\1\0\4\7\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(11, 0x7ffc27597be0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(11, 0x7ffc27597a90, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(11, 0x7ffc27597bc0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}], 3, 318) = 1 ([{fd=11, revents=POLLIN}])
recvmsg(11, {msg_name(0)=NULL, msg_iov(1)=[{"A\0\225\25\17\5\340\1\3\0\202\0\5\0\340\1\0(\7\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 64
recvmsg(11, 0x7ffc27597be0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(11, 0x7ffc27597a90, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(11, 0x7ffc27597bc0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}], 3, 317) = 1 ([{fd=11, revents=POLLIN}])
recvmsg(11, {msg_name(0)=NULL, msg_iov(1)=[{"#\203\246\25\26\0\0\0\5\0\2\0:\207\220\35\1\0\0\0\267\0\0\0\7\0\340\1\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 120
recvmsg(11, 0x7ffc27597be0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=11, revents=POLLOUT}])
writev(11, [{"$\0\1\0\203(\3\0\267\0\0\0\2\0\0\0", 16}, {NULL, 0}, {"", 0}], 3) = 16
poll([{fd=11, events=POLLIN}], 1, -1) = 1 ([{fd=11, revents=POLLIN}])
recvmsg(11, {msg_name(0)=NULL, msg_iov(1)=[{"\1(\250\25\7\0\0\0\267\0\0\0\7\0\340\1\0\0\355\16\0\0\354\0\0\0\355\16\0\0\354\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 60
recvmsg(11, 0x7ffc27597630, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=11, revents=POLLOUT}])
writev(11, [{"\203(\3\0\7\0\340\1\2\0\0\0", 12}, {NULL, 0}, {"", 0}], 3) = 12
poll([{fd=11, events=POLLIN}], 1, -1) = 1 ([{fd=11, revents=POLLIN}])
recvmsg(11, {msg_name(0)=NULL, msg_iov(1)=[{"\1(\251\25\7\0\0\0\267\0\0\0\0\0\0\0\0\0\355\16\0\0\354\0\0\0\363\2\0\0003\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 60
recvmsg(11, 0x7ffc27597630, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(11, 0x7ffc27597630, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=11, revents=POLLOUT}])
writev(11, [{"%(\1\0", 4}, {NULL, 0}, {"", 0}], 3) = 4
recvmsg(11, 0x7ffc27597720, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=11, revents=POLLOUT}])
writev(11, [{"+(\1\0", 4}, {NULL, 0}, {"", 0}], 3) = 4
poll([{fd=11, events=POLLIN}], 1, -1) = 1 ([{fd=11, revents=POLLIN}])
recvmsg(11, {msg_name(0)=NULL, msg_iov(1)=[{"\1\2\253\25\0\0\0\0\10\0\340\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(11, 0x7ffc275976b0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(11, 0x7ffc275976b0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=11, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=11, revents=POLLOUT}])
writev(11, [{"\203*\4\0\7\0\340\1\0\0\0\0\2\0\0\0", 16}, {NULL, 0}, {"", 0}], 3) = 16
recvmsg(11, 0x7ffc27597bc0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}], 3, 0) = 0 (Timeout)
QA Tasks
-
Open GNOME To Do and monitor the CPU usage → should be 0% while idle