https://bugs.kde.org/show_bug.cgi?id=484323

--- Comment #3 from Francisco <franje...@gmail.com> ---
(In reply to fanzhuyifan from comment #2)
>  Hotspot profiling data pointing to where these processes are using all
> those cpu cycles would be extremely helpful.

I did some profiling on kwin_x11 with debuginfod data and this is the gist of
it.

You can get the full trace from
https://pub-32f46577ac8f4e2b84ba6635b1d55699.r2.dev/pepe.perf and load it in
https://profiler.firefox.com or https://www.speedscope.app/

I have used a simple "perf report" to generate the lines below:

Samples: 62K of event 'cycles:P', Event count (approx.): 23722680927
  Children      Self  Command         Shared Object                      Symbol
-   36,84%     0,00%  kwin_x11        kwin_x11                           [.]
0x000055638a2d3ef4                                                             
                      ◆
     0x55638a2d3ef4                                                            
                                                                               
                   ▒
     __libc_start_main                                                         
                                                                               
                   ▒
     0x7f905a643ccf                                                            
                                                                               
                   ▒
     0x55638a2cfc24                                                            
                                                                               
                   ▒
   - QCoreApplication::exec()                                                  
                                                                               
                   ▒
      - 36,84% QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)         
                                                                               
                   ▒
         - 36,83%
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)     
                                                                               
 ▒
            - 36,81% g_main_context_iteration                                  
                                                                               
                   ▒
               - 36,62% 0x7f9059c973a6                                         
                                                                               
                   ▒
                  - 36,58% 0x7f9059c38f68                                      
                                                                               
                   ▒
                     - 19,21% 0x7f90559ecbd6                                   
                                                                               
                   ▒
                        - 19,18%
QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>)        
                                                                  ▒
                           - 18,69%
QXcbConnection::handleXcbEvent(xcb_generic_event_t*)                           
                                                               ▒
                              - 10,83%
QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long
long*)                                                           ▒
                                 - 8,47%
KWin::Workspace::workspaceEvent(xcb_generic_event_t*)                          
                                                          ▒
                                    - 6,78%
KWin::Workspace::createUnmanaged(unsigned int)                                 
                                                       ▒
                                       + 3,75% KWin::X11Window::X11Window()    
                                                                               
                   ▒
                                       + 2,18% KWin::X11Window::track(unsigned
int)                                                                           
                    ▒
                                       + 0,65% operator new(unsigned long)     
                                                                               
                   ▒
                                    + 1,30%
KWin::Workspace::updateXStackingOrder()                                        
                                                       ▒
                                 + 2,19% 0x7f905dbbf6d9                        
                                                                               
                   ▒
                              - 7,78% QXcbConnection::initializeScreens(bool)  
                                                                               
                   ▒
                                 - 7,75%
QXcbConnection::initializeScreensFromMonitor(xcb_screen_iterator_t*, int,
QXcbScreen**, bool)                                             ▒
                                    - 6,57%
QXcbConnection::updateScreen_monitor(QXcbScreen*, xcb_randr_monitor_info_t*,
unsigned int)                                             ▒
                                       - 3,51%
QXcbScreen::updateColorSpaceAndEdid()                                          
                                                    ▒
                                          + 2,06% QEdidParser::parse(QByteArray
const&)                                                                        
                   ▒
                                          + 0,74% QXcbScreen::getEdid() const  
                                                                               
                   ▒
                                            0,69% xcb_wait_for_reply           
                                                                               
                   ▒
                                       + 3,04%
QXcbScreen::setMonitor(xcb_randr_monitor_info_t*, unsigned int)                
                                                    ▒
                                      0,62% xcb_wait_for_reply                 
                                                                               
                   ▒
                                    + 0,54%
QXcbConnection::findScreenForMonitorInfo(QList<QPlatformScreen*> const&,
xcb_randr_monitor_info_t*)                                    ▒
                     - 17,34% 0x7f905af75723                                   
                                                                               
                   ▒
                        - 17,34% QTimerInfoList::activateTimers()              
                                                                               
                   ▒
                           - 17,33% QCoreApplication::notifyInternal2(QObject*,
QEvent*)                                                                       
                   ▒
                              - 17,33%
QApplicationPrivate::notify_helper(QObject*, QEvent*)                          
                                                            ▒
                                 - 17,25% QObject::event(QEvent*)              
                                                                               
                   ▒
                                    - 17,25% QTimer::timerEvent(QTimerEvent*)  
                                                                               
                   ▒
                                       - 17,23% 0x7f905ad90ca8                 
                                                                               
                   ▒
                                          - 17,20% 0x55638a2ddafc              
                                                                               
                   ▒
                                             - 6,10% 0x55638a2dd69e            
                                                                               
                   ▒
                                                + 6,09% KWin::Edid::Edid(void
const*, unsigned int)                                                          
                     ▒
                                             + 4,57% 0x55638a2dccba            
                                                                               
                   ▒
                                             + 3,02% 0x55638a2dc985            
                                                                               
                   ▒
                                             + 0,77% 0x55638a2dcc32            
                                                                               
                   ▒
                                             + 0,71% 0x55638a2dcfaa            
                                                                               
                   ▒
                                             + 0,70% 0x55638a2dd163            
                                                                               
                   ▒
                                             + 0,67% 0x55638a2dcdff            
                                                                               
                   ▒

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to