Created attachment 761061 [details] 30 seconds of strace output (gzipped) Description of problem: An "idle" gnome-shell on Fedora-Live-Desktop consumes too much CPU time:30% or more.ls Version-Release number of selected component (if applicable): gnome-shell-3.8.3-2.fc19.i686 How reproducible: every time Steps to Reproduce: 1. boot Fedora-Live-Desktop-i686-19-TC3-1 [Final] 2. run /usr/bin/top for 1/2 minute then quit 3. yum install strace 4. strace -o strace.ouit -p <PID_of_gnome-shell> Actual results: 'top' shows "idle" gnome-shell consumes 40% to 60% CPU on 1.6GHz machine. strace shows hundreds of kilobytes/second flowing through socket in an "idle" gnome-shell. This contributes to a 2-second lag for typing or clicking. Expected results: "Idle" gnome-shell consumes less than 3% CPU. Additional info: processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Intel(R) Pentium(R) 4 CPU 1.60GHz stepping : 4 microcode : 0x1e cpu MHz : 1614.422 cache size : 512 KB fdiv_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pebs bts bogomips : 3228.84 clflush size : 64 cache_alignment : 128 address sizes : 36 bits physical, 32 bits virtual power management: $ lspci -nn 01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI RV280 [Radeon 9200 PRO] [1002:5960] (rev 01) 01:00.1 Display controller [0380]: Advanced Micro Devices [AMD] nee ATI RV280 [Radeon 9200 PRO] (Secondary) [1002:5940] (rev 01) but note that display is idle: no visible changes! Typical strace output: poll([{fd=6, events=POLLIN}], 1, -1) = 1 ([{fd=6, revents=POLLIN}]) recv(6, "\357\357\357\377\357\357\357\377\357\357\357\377\357\357\357\377\357\357\357\377\357\357\357\377\357\357\357\377\357\357\357\377"..., 2701360, 0) = 14032 recv(6, 0x9efaddd8, 2687328, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=6, events=POLLIN}], 1, -1) = 1 ([{fd=6, revents=POLLIN}]) recv(6, "'\3\1\377$\2\1\377$\2\2\377\37\1\2\377 \1\2\377!\1\2\377#\1\2\377(\5\1\377"..., 2687328, 0) = 16192 recv(6, 0x9efb1d18, 2671136, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=6, events=POLLIN}], 1, -1) = 1 ([{fd=6, revents=POLLIN}]) recv(6, "\355\355\355\0\355\355\355\0\355\355\355\0\355\355\355\0\355\355\355\0\355\355\355\0\355\355\355\0\355\355\355\0"..., 2671136, 0) = 16192 recv(6, 0x9efb5c58, 2654944, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=6, events=POLLIN}], 1, -1) = 1 ([{fd=6, revents=POLLIN}]) recv(6, "\355\355\355\0\355\355\355\0\355\355\355\0\355\355\355\0\355\355\355\0\355\355\355\0\355\355\355\0\355\355\355\0"..., 2654944, 0) = 16192 recv(6, 0x9efb9b98, 2638752, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=6, events=POLLIN}], 1, -1) = 1 ([{fd=6, revents=POLLIN}]) recv(6, "\355\355\355\0\353\353\353\2HFA\345\242\241\236h\317\317\316(64.\377\355\355\355\0\355\355\355\0"..., 2638752, 0) = 14032 recv(6, 0x9efbd268, 2624720, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=6, events=POLLIN}], 1, -1) = 1 ([{fd=6, revents=POLLIN}]) recv(6, "+\5\3\377+\5\3\377+\5\3\377+\5\3\377*\4\2\377+\5\1\377,\5\2\377+\5\3\377"..., 2624720, 0) = 16192 recv(6, 0x9efc11a8, 2608528, 0) = -1 EAGAIN (Resource temporarily unavailable)
glxinfo shows: name of display: :0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: SGI server glx version string: 1.4 client glx vendor string: Mesa Project and SGI client glx version string: 1.4 GLX version: 1.4 OpenGL vendor string: VMware, Inc. OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.3, 128 bits) OpenGL version string: 2.1 Mesa 9.2.0 OpenGL shading language version string: 1.30 /var/log/Xorg.0.log: X.Org X Server 1.14.1 Release Date: 2013-04-17 [ 50.363] X Protocol Version 11, Revision 0 [ 50.363] Build Operating System: 2.6.32-358.2.1.el6.x86_64 [ 50.363] Current Operating System: Linux localhost 3.9.4-301.fc19.i686 #1 SMP Tue Jun 4 00:51:19 UTC 2013 i686 [ 50.363] Kernel command line: root=live:LABEL=LIVE rootfstype=auto ro rd.live.image rd.luks=0 rd.md=0 rd.dm=0 cgroup_disable=memory slub_debug=- [ 50.367] Build Date: 05 June 2013 10:30:34PM [ 50.367] Build ID: xorg-x11-server 1.14.1-4.fc19 [ 50.367] Current version of pixman: 0.30.0 ... [ 51.129] (II) RADEON: Driver for ATI Radeon chipsets: installed packages: mesa-dri-drivers-9.2-0.7.20130528.fc19.i686 xorg-x11-drv-ati-7.1.0-5.20130408git6e74aacc5.fc19.i686 xorg-x11-server-Xorg-1.14.1-4.fc19.i686
(In reply to John Reiser from comment #1) > glxinfo shows: > name of display: :0 > display: :0 screen: 0 > direct rendering: Yes > server glx vendor string: SGI > server glx version string: 1.4 > client glx vendor string: Mesa Project and SGI > client glx version string: 1.4 > GLX version: 1.4 > OpenGL vendor string: VMware, Inc. > OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.3, 128 bits) This means you are using software rendering, so high CPU usage is expected. Which GPU do you have? (Output of lspci)
The output of lspci is in the Additional Info of the original Description: $ lspci -nn 01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI RV280 [Radeon 9200 PRO] [1002:5960] (rev 01) 01:00.1 Display controller [0380]: Advanced Micro Devices [AMD] nee ATI RV280 [Radeon 9200 PRO] (Secondary) [1002:5940] (rev 01) Why is there high CPU usage when the display is not changing? The only visible change is the clock display HH:MM, once per minute,
Same device, same behaviour. 01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI RV280 [Radeon 9200 PRO] [1002:5960] (rev 01) 01:00.1 Display controller [0380]: Advanced Micro Devices [AMD] nee ATI RV280 [Radeon 9200 PRO] (Secondary) [1002:5940] (rev 01) I have faster CPU than John Reiser. model name : Intel(R) Pentium(R) 4 CPU 3.00GHz Top in gnome-terminal shows gnome-shell 60% and X 8%. 1790 ste 20 0 557548 171676 38188 S 60,78 8,313 16:33.89 gnome-shell 1551 root 20 0 53124 20804 9104 S 7,928 1,007 2:57.95 X 2334 ste 20 0 158436 16216 11556 S 3,634 0,785 0:03.44 gnome-terminal- Everything is too much slow to play with.
Same issue here but the CPU usage is higher (160% in top!!) : $ lspci -nn 00:00.0 Host bridge [0600]: Intel Corporation 2nd Generation Core Processor Family DRAM Controller [8086:0100] (rev 09) 00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0102] (rev 09) $cat /proc/cpuinfo vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz $ glxinfo name of display: :0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: SGI server glx version string: 1.4 server glx extensions: GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_make_current_read client glx vendor string: Mesa Project and SGI client glx version string: 1.4 client glx extensions: GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness, GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_create_context_es2_profile, GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_MESA_multithread_makecurrent, GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync GLX version: 1.4 GLX extensions: GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_multithread_makecurrent, GLX_OML_swap_method, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_make_current_read OpenGL vendor string: VMware, Inc. OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.3, 256 bits) OpenGL version string: 2.1 Mesa 9.2.0-devel OpenGL shading language version string: 1.30 strace -fcp 7227 Process 7227 attached with 14 threads ^CProcess 7227 detached Process 7231 detached Process 7233 detached Process 7234 detached Process 7235 detached Process 7236 detached Process 7237 detached Process 7238 detached Process 7239 detached Process 7240 detached Process 7242 detached Process 7243 detached Process 7244 detached Process 7800 detached % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- --------- ---------------- 87.77 57.642879 610 94426 2181 futex 9.94 6.529090 65 100833 poll 1.13 0.740000 740000 1 restart_syscall 0.95 0.621830 7 83797 26698 recvfrom 0.16 0.107403 7 15968 brk 0.06 0.036398 0 84462 writev 0.00 0.000051 0 3003 1005 read 0.00 0.000022 0 2025 write 0.00 0.000000 0 10 6 open 0.00 0.000000 0 7 close 0.00 0.000000 0 4 fstat 0.00 0.000000 0 3 lseek 0.00 0.000000 0 4 mmap 0.00 0.000000 0 4 munmap 0.00 0.000000 0 2 sendmsg 0.00 0.000000 0 4 recvmsg 0.00 0.000000 0 1 timerfd_create 0.00 0.000000 0 1 timerfd_settime 0.00 0.000000 0 2 eventfd2 ------ ----------- ----------- --------- --------- ---------------- 100.00 65.677673 384557 29890 total
Ditto. 01:05.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RS690M [Radeon Xpress 1200/1250/1270] FWIW, top isn't a good thing to run for this issue, since it re-draws screen continuously - and we are talking about loading up the graphic sub-system.
similar deadly slow lag with: toshiba satellite L75D-A7283 with A4-5000 apu lspci: 00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 16h Processor Root Complex 00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Kabini [Radeon HD 8330]
ran across this in my var log messages when looking into slow virtual machines: 'kernel: [ 30.549832] kvm: disabled by bios' could this be thread related?
fedora20 system still criplingly slow for me but the gnome-shell effect on idle seems to be improved from consuming an average of '60% total cpu' ( core0:60%, core1:60%, core2:60%, core3: 60% ) to '20% total cpu' ( core0:20%, core1:20%, core2:20%, core3: 20% ) starting with kernel-3.10.0-0.rc0.git10.1.fc21.x86_64 with glxinfo 'gallium on llvm' -> 'gallium on amd kabini'. there was a kernel in between which ran idle (always higher on 2nd core) with about '30% total cpu' ( core0:20%, core1:60%, core2:20%, core3: 20% ) before suspend with '70% total cpu' ( core0:70%, core1:70%, core2:70%, core3:70% ) after resume from suspend. the 'top' command showed a change in %cpu usage in gnome-shell {before suspend: (xorg=70%totalcpu and gnome-shell=10%totalcpu), after resume: (xorg=40%totalcpu and gnome-shell=180%totalcpu)}. kernel-3.13.0-0.rc2.git0.1.fc21.x86_64 is a little more stable and the %cpu at idle seems to be down to about 10% (both before and after a suspend/resume cycle)
I have similar problem; fc20, kernel 3.12.6-300.fc20.x86_64, Intel GM45. gnome-shell is using about 30% CPU, on an idle system. At least part of the problem is repeated reading from an fd which has no data available. That shouldn't happen when poll() is used. Excerpt of strace shown below. ... OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset OpenGL version string: 2.1 Mesa 9.2.5 OpenGL shading language version string: 1.20 ... poll([{fd=33, events=POLLIN}, {fd=5, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=30, events=POLLIN}, {fd=13, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}, {fd=18, events=POLLIN}], 11, 0) = 0 (Timeout) read(5, 0x7fffc1825fd0, 16) = -1 EAGAIN (Resource temporarily unavailable) recvfrom(6, 0x9274a4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=33, events=POLLIN}, {fd=5, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=30, events=POLLIN}, {fd=13, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}, {fd=18, events=POLLIN}], 11, 8) = 1 ([{fd=6, revents=POLLIN}]) recvfrom(6, "Z\0026\304Gv\21\1Hv\21\1:\317\330\v\n\0?\0\337\2\262\1\376\377K\0\363\2\373\1", 4096, 0, NULL, NULL) = 32 recvfrom(6, 0x9274a4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) write(5, "\1\0\0\0\0\0\0\0", 8) = 8 recvfrom(6, 0x9274a4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvfrom(6, 0x9274a4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=33, events=POLLIN}, {fd=5, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=30, events=POLLIN}, {fd=13, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}, {fd=18, events=POLLIN}], 11, 6) = 1 ([{fd=5, revents=POLLIN}]) recvfrom(6, 0x9274a4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=33, events=POLLIN}, {fd=5, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=30, events=POLLIN}, {fd=13, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}, {fd=18, events=POLLIN}], 11, 5) = 1 ([{fd=5, revents=POLLIN}]) read(5, "\1\0\0\0\0\0\0\0", 16) = 8 recvfrom(6, 0x9274a4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=33, events=POLLIN}, {fd=5, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=30, events=POLLIN}, {fd=13, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}, {fd=18, events=POLLIN}], 11, 4) = 0 (Timeout) read(5, 0x7fffc1825fd0, 16) = -1 EAGAIN (Resource temporarily unavailable) recvfrom(6, 0x9274a4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=33, events=POLLIN}, {fd=5, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=30, events=POLLIN}, {fd=13, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=24, events=POLLIN}, {fd=27, events=POLLIN}, {fd=18, events=POLLIN}], 11, 4) = 0 (Timeout) poll([{fd=6, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=6, revents=POLLOUT}]) writev(6, [{"\216\3\4\0Hv\21\1\0\0\0\0\0\0\0\0+\0\1\0", 20}, {NULL, 0}, {"", 0}], 3) = 20 poll([{fd=6, events=POLLIN}], 1, 4294967295) = 1 ([{fd=6, revents=POLLIN}]) recvfrom(6, "\1\0028\304\0\0\0\0\206\342\205\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32 recvfrom(6, 0x9274a4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) ioctl(10, 0x400c645f, 0x7fffc1825af0) = 0 ioctl(10, 0xc0086457, 0x7fffc1825960) = 0 ioctl(10, VIDIOC_INT_RESET, 0x7fffc18259c0) = 0 ioctl(10, 0x4020645d, 0x7fffc18259c0) = 0 ioctl(10, 0xc0086457, 0x7fffc1825820) = 0 ioctl(10, VIDIOC_INT_RESET, 0x7fffc1825880) = 0 ioctl(10, 0x400c645f, 0x7fffc1825890) = 0 ioctl(10, 0xc0086457, 0x7fffc1825b40) = 0 ioctl(10, 0x400c645f, 0x7fffc1825b10) = 0 ioctl(10, 0x4020645d, 0x7fffc1825cb0) = 0 ioctl(10, 0x4020645d, 0x7fffc1825cb0) = 0 ioctl(10, 0x40406469, 0x7fffc1825c60) = 0 ioctl(10, VIDIOC_INT_RESET, 0x7fffc1825c00) = 0 ioctl(10, VIDIOC_INT_RESET, 0x7fffc1825c00) = 0 ioctl(10, VIDIOC_INT_RESET, 0x7fffc1825c50) = 0 ioctl(10, 0xc0086457, 0x7fffc1825c30) = 0 ioctl(10, VIDIOC_INT_RESET, 0x7fffc1825c90) = 0 ioctl(10, 0x400c645f, 0x7fffc1825d20) = 0 poll([{fd=6, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=6, revents=POLLOUT}]) writev(6, [{"\230\t\2\0\33\0\0\1", 8}], 1) = 8 poll([{fd=6, events=POLLIN}], 1, 4294967295) = 1 ([{fd=6, revents=POLLIN}]) recvfrom(6, "\1\0009\304\0\0\0\0.\0\0\0\231\342\351F\0\0\0\0y\320-\0\0\0\0\0\304K\0\0", 4096, 0, NULL, NULL) = 32 poll([{fd=6, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=6, revents=POLLOUT}]) writev(6, [{"\230\n\10\0\33\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0", 32}], 1) = 32 poll([{fd=6, events=POLLIN}], 1, 4294967295) = 1 ([{fd=6, revents=POLLIN}])
This message is a notice that Fedora 19 is now at end of life. Fedora has stopped maintaining and issuing updates for Fedora 19. It is Fedora's policy to close all bug reports from releases that are no longer maintained. Approximately 4 (four) weeks from now this bug will be closed as EOL if it remains open with a Fedora 'version' of '19'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 19 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
Fedora 19 changed to end-of-life (EOL) status on 2015-01-06. Fedora 19 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed.