<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - Excessive CPU load by the xorg-server and GUI's hard lags"
href="https://bugs.freedesktop.org/show_bug.cgi?id=99457#c19">Comment # 19</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - Excessive CPU load by the xorg-server and GUI's hard lags"
href="https://bugs.freedesktop.org/show_bug.cgi?id=99457">bug 99457</a>
from <span class="vcard"><a class="email" href="mailto:eshkrig@gmail.com" title="Eugenij Shkrigunov <eshkrig@gmail.com>"> <span class="fn">Eugenij Shkrigunov</span></a>
</span></b>
<pre>I compiled with debugging xorg-server-1.18.4, xf86-video-ati-7.7.0,
mesa-12.0.1, tigervnc-1.7.1 and run oprofile.
Here are the data for the 5 minutes of inactivity of the KDM login screen:
opreport --long-filenames /usr/bin/Xorg
909697 100.000 /usr/bin/Xorg
CPU_CLK_UNHALT...|
samples| %|
------------------
905321 99.5190 /proc/kallsyms
1379 0.1516 /usr/lib64/mesa/radeonsi_dri.so
904 0.0994 /usr/lib64/xorg/modules/extensions/libvnc.so
654 0.0719 /usr/bin/Xorg
476 0.0523 /lib64/libc-2.23.so
249 0.0274 /usr/lib64/xorg/modules/drivers/radeon_drv.so
176 0.0193 /lib64/libpthread-2.23.so
122 0.0134 /usr/lib64/xorg/modules/libglamoregl.so
107 0.0118 /usr/lib64/libpixman-1.so.0.34.0
78 0.0086 /usr/lib64/libdrm.so.2.4.0
53 0.0058 /usr/lib64/libdrm_radeon.so.1.0.1
51 0.0056 [vdso] (tgid:5004
range:0x7ffd70577000-0x7ffd70578fff)
25 0.0027 /lib64/libm-2.23.so
25 0.0027
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.4/libstdc++.so.6.0.20
24 0.0026 /usr/lib64/libGL.so.1.2.0
21 0.0023 /usr/lib64/xorg/modules/input/evdev_drv.so
13 0.0014 /usr/lib64/xorg/modules/libfb.so
11 0.0012 /lib64/libudev.so.1.6.4
7 7.7e-04 /usr/lib64/libglapi.so.0.0.0
1 1.1e-04 /lib64/ld-2.23.so
opreport --long-filenames --symbols /proc/kallsyms
samples % image name symbol name
747823 82.6031 /proc/kallsyms delay_tsc
85053 9.3948 /proc/kallsyms cail_reg_read
21208 2.3426 /proc/kallsyms atom_get_src_int
9510 1.0505 /proc/kallsyms atom_put_dst
8068 0.8912 /proc/kallsyms atom_execute_table_locked
5636 0.6225 /proc/kallsyms atom_op_move
3921 0.4331 /proc/kallsyms atom_op_jump
3008 0.3323 /proc/kallsyms atom_op_compare
2492 0.2753 /proc/kallsyms atom_op_clear
1824 0.2015 /proc/kallsyms atom_op_calltable
1260 0.1392 /proc/kallsyms atom_op_add
1109 0.1225 /proc/kallsyms atom_op_sub
1080 0.1193 /proc/kallsyms atom_op_test
891 0.0984 /proc/kallsyms atom_op_setport
676 0.0747 /proc/kallsyms atom_op_or
675 0.0746 /proc/kallsyms atom_op_shift_left
670 0.0740 /proc/kallsyms atom_op_setfbbase
543 0.0600 /proc/kallsyms atom_op_and
525 0.0580 /proc/kallsyms atom_op_mask
426 0.0471 /proc/kallsyms atom_op_delay
354 0.0391 /proc/kallsyms __udelay
344 0.0380 /proc/kallsyms apic_timer_interrupt
334 0.0369 /proc/kallsyms atom_get_src_direct
311 0.0344 /proc/kallsyms read_tsc
244 0.0270 /proc/kallsyms _raw_spin_lock
224 0.0247 /proc/kallsyms atom_op_setdatablock
177 0.0196 /proc/kallsyms __ww_mutex_lock
173 0.0191 /proc/kallsyms cail_reg_write
163 0.0180 /proc/kallsyms _raw_spin_lock_irqsave
163 0.0180 /proc/kallsyms update_blocked_averages
159 0.0176 /proc/kallsyms ww_mutex_unlock
155 0.0171 /proc/kallsyms task_tick_fair
148 0.0163 /proc/kallsyms radeon_crtc_load_lut
106 0.0117 /proc/kallsyms radeon_get_external_encoder
opreport --long-filenames --symbols /usr/lib64/mesa/radeonsi_dri.so
samples % image name symbol name
81 5.8781 /usr/lib64/mesa/radeonsi_dri.so radeon_cs_context_cleanup
73 5.2975 /usr/lib64/mesa/radeonsi_dri.so radeon_drm_cs_add_buffer
40 2.9028 /usr/lib64/mesa/radeonsi_dri.so
si_buffer_resources_begin_new_cs
39 2.8302 /usr/lib64/mesa/radeonsi_dri.so
radeon_drm_cs_emit_ioctl_oneshot
33 2.3948 /usr/lib64/mesa/radeonsi_dri.so si_draw_vbo
32 2.3222 /usr/lib64/mesa/radeonsi_dri.so surf_drm_to_winsys
31 2.2496 /usr/lib64/mesa/radeonsi_dri.so surf_winsys_to_drm
30 2.1771 /usr/lib64/mesa/radeonsi_dri.so _mesa_Flush
27 1.9594 /usr/lib64/mesa/radeonsi_dri.so radeon_drm_cs_emit_ioctl
26 1.8868 /usr/lib64/mesa/radeonsi_dri.so si_blitter_begin
25 1.8142 /usr/lib64/mesa/radeonsi_dri.so radeon_drm_cs_flush
24 1.7417 /usr/lib64/mesa/radeonsi_dri.so
si_all_descriptors_begin_new_cs
23 1.6691 /usr/lib64/mesa/radeonsi_dri.so si_upload_descriptors
22 1.5965 /usr/lib64/mesa/radeonsi_dri.so _mesa_BindTexture
22 1.5965 /usr/lib64/mesa/radeonsi_dri.so si_shader_select
21 1.5239 /usr/lib64/mesa/radeonsi_dri.so radeon_lookup_buffer
19 1.3788 /usr/lib64/mesa/radeonsi_dri.so r600_flush_from_st
19 1.3788 /usr/lib64/mesa/radeonsi_dri.so st_glFlush
17 1.2337 /usr/lib64/mesa/radeonsi_dri.so
_mesa_error_check_format_and_type
17 1.2337 /usr/lib64/mesa/radeonsi_dri.so r600_texture_create_object
17 1.2337 /usr/lib64/mesa/radeonsi_dri.so si_make_texture_descriptor
17 1.2337 /usr/lib64/mesa/radeonsi_dri.so si_update_shaders
16 1.1611 /usr/lib64/mesa/radeonsi_dri.so u_upload_alloc
16 1.1611 /usr/lib64/mesa/radeonsi_dri.so util_copy_framebuffer_state
15 1.0885 /usr/lib64/mesa/radeonsi_dri.so _mesa_TexSubImage2D
15 1.0885 /usr/lib64/mesa/radeonsi_dri.so si_set_framebuffer_state
14 1.0160 /usr/lib64/mesa/radeonsi_dri.so _mesa_get_current_tex_object
14 1.0160 /usr/lib64/mesa/radeonsi_dri.so radeon_drm_cs_sync_flush
14 1.0160 /usr/lib64/mesa/radeonsi_dri.so si_emit_framebuffer_state
opreport --long-filenames --symbols
/usr/lib64/xorg/modules/extensions/libvnc.so
samples % image name symbol name
43 4.8206 /usr/lib64/xorg/modules/extensions/libvnc.so
vncWriteBlockHandler
32 3.5874 /usr/lib64/xorg/modules/extensions/libvnc.so
vncGetScreenCount
31 3.4753 /usr/lib64/xorg/modules/extensions/libvnc.so
vncCallWriteBlockHandlers
27 3.0269 /usr/lib64/xorg/modules/extensions/libvnc.so
rfb::Timer::checkTimeouts()
25 2.8027 /usr/lib64/xorg/modules/extensions/libvnc.so
rfb::IntParameter::operator int() const
24 2.6906 /usr/lib64/xorg/modules/extensions/libvnc.so
std::_List_base<network::Socket*, std::allocator<network::Socket*> >::_List_
21 2.3543 /usr/lib64/xorg/modules/extensions/libvnc.so
XserverDesktop::writeBlockHandler(fd_set*, timeval**)
20 2.2422 /usr/lib64/xorg/modules/extensions/libvnc.so
XserverDesktop::readWakeupHandler(fd_set*, int)
20 2.2422 /usr/lib64/xorg/modules/extensions/libvnc.so
std::_List_base<network::Socket*, std::allocator<network::Socket*> >::_List_
20 2.2422 /usr/lib64/xorg/modules/extensions/libvnc.so
std::list<network::Socket*, std::allocator<network::Socket*> >::list()
20 2.2422 /usr/lib64/xorg/modules/extensions/libvnc.so
std::list<network::TcpListener*, std::allocator<network::TcpListener*> >::en
20 2.2422 /usr/lib64/xorg/modules/extensions/libvnc.so
std::list<rfb::Timer*, std::allocator<rfb::Timer*> >::empty() const
19 2.1300 /usr/lib64/xorg/modules/extensions/libvnc.so vncXUnionRegion
18 2.0179 /usr/lib64/xorg/modules/extensions/libvnc.so
network::SocketListener::getFd()
18 2.0179 /usr/lib64/xorg/modules/extensions/libvnc.so
rfb::VNCServerST::add_changed(rfb::Region const&)
17 1.9058 /usr/lib64/xorg/modules/extensions/libvnc.so
std::list<network::TcpListener*, std::allocator<network::TcpListener*> >::be
16 1.7937 /usr/lib64/xorg/modules/extensions/libvnc.so
std::allocator<std::_List_node<network::Socket*> >::allocator()
15 1.6816 /usr/lib64/xorg/modules/extensions/libvnc.so
std::_List_iterator<network::TcpListener*>::operator!=(std::_List_iterator<n
15 1.6816 /usr/lib64/xorg/modules/extensions/libvnc.so
vncHooksBlockHandler
14 1.5695 /usr/lib64/xorg/modules/extensions/libvnc.so
std::_List_iterator<rfb::Timer*>::_List_iterator(std::__detail::_List_node_b
13 1.4574 /usr/lib64/xorg/modules/extensions/libvnc.so
std::_List_base<rfb::Timer*, std::allocator<rfb::Timer*> >::_M_get_Tp_alloca
13 1.4574 /usr/lib64/xorg/modules/extensions/libvnc.so
std::_List_iterator<network::Socket*>::_List_iterator()
13 1.4574 /usr/lib64/xorg/modules/extensions/libvnc.so
std::list<network::Socket*, std::allocator<network::Socket*> >::clear()
13 1.4574 /usr/lib64/xorg/modules/extensions/libvnc.so
vncCallReadWakeupHandlers
12 1.3453 /usr/lib64/xorg/modules/extensions/libvnc.so
XserverDesktop::readBlockHandler(fd_set*, timeval**)
12 1.3453 /usr/lib64/xorg/modules/extensions/libvnc.so
std::list<rfb::VNCSConnectionST*, std::allocator<rfb::VNCSConnectionST*> >::
12 1.3453 /usr/lib64/xorg/modules/extensions/libvnc.so vncAddChanged
11 1.2332 /usr/lib64/xorg/modules/extensions/libvnc.so
__gnu_cxx::new_allocator<std::_List_node<network::Socket*> >::new_allocator(
11 1.2332 /usr/lib64/xorg/modules/extensions/libvnc.so
rfb::VNCServerST::checkTimeouts()
11 1.2332 /usr/lib64/xorg/modules/extensions/libvnc.so
std::list<rfb::Timer*, std::allocator<rfb::Timer*> >::begin()
10 1.1211 /usr/lib64/xorg/modules/extensions/libvnc.so rfb::Timer**
std::__addressof<rfb::Timer*>(rfb::Timer*&)
10 1.1211 /usr/lib64/xorg/modules/extensions/libvnc.so
rfb::Timer::insertTimer(rfb::Timer*)
10 1.1211 /usr/lib64/xorg/modules/extensions/libvnc.so
rfb::Timer::start(int)
10 1.1211 /usr/lib64/xorg/modules/extensions/libvnc.so
rfb::VNCServerST::getSockets(std::list<network::Socket*, std::allocator<netw
10 1.1211 /usr/lib64/xorg/modules/extensions/libvnc.so
std::_List_iterator<rfb::VNCSConnectionST*>::_List_iterator()
10 1.1211 /usr/lib64/xorg/modules/extensions/libvnc.so
std::list<network::Socket*, std::allocator<network::Socket*> >::begin()
opreport --long-filenames --symbols
/usr/lib64/xorg/modules/drivers/radeon_drv.so
samples % image name symbol name
73 29.4355 /usr/lib64/xorg/modules/drivers/radeon_drv.so
drmmode_set_desired_modes
59 23.7903 /usr/lib64/xorg/modules/drivers/radeon_drv.so
drmmode_set_mode_major
33 13.3065 /usr/lib64/xorg/modules/drivers/radeon_drv.so
RADEONBlockHandler_KMS
20 8.0645 /usr/lib64/xorg/modules/drivers/radeon_drv.so
drmmode_do_crtc_dpms
13 5.2419 /usr/lib64/xorg/modules/drivers/radeon_drv.so
drmmode_crtc_gamma_set
12 4.8387 /usr/lib64/xorg/modules/drivers/radeon_drv.so
radeon_flush_callback
9 3.6290 /usr/lib64/xorg/modules/drivers/radeon_drv.so
drm_wakeup_handler
9 3.6290 /usr/lib64/xorg/modules/drivers/radeon_drv.so
radeon_cs_flush_indirect
8 3.2258 /usr/lib64/xorg/modules/drivers/radeon_drv.so
RADEONBlockHandler_oneshot
5 2.0161 /usr/lib64/xorg/modules/drivers/radeon_drv.so
drmmode_can_use_hw_cursor
5 2.0161 /usr/lib64/xorg/modules/drivers/radeon_drv.so
drmmode_output_dpms
2 0.8065 /usr/lib64/xorg/modules/drivers/radeon_drv.so
drmmode_handle_transform</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>