mutrace and tiles3

Boudewijn Rempt boud at valdyas.org
Wed Sep 16 08:49:27 CEST 2009


I did exactly the same thing as with tiles1. It was much slower -- and the results are certainly puzzling, since the main contention 
doesn't seem to come from the tile engine!

boud at valdiesalie:~/kde/src/shicmap/krita/ui> mutrace --hash-size=40000 krita
mutrace: 0.1 sucessfully initialized for process krita (pid 18682).         
*** KisTiledDataManager::read called                                        
X Error: BadAtom (invalid Atom parameter) 5                                 
  Major opcode: 20 (X_GetProperty)                                          
  Resource id:  0x0                                                         
Enchant dict for "en_US" 0x90dfb08                                          
Enchant dict for "en_US" 0x90dfb08                                          
Enchant dict for "en_US" 0x90dfb08                                          
Enchant dict for "en_US" 0x90dfb08                                          
Enchant dict for "en_US" 0x90dfb08                                          
QLayout: Attempting to add QLayout "" to QWidget "KritaShape/KisToolBrushoption widget", which already has a layout
Object::connect: No such signal KoSliderCombo::valueChanged(int,bool)                                              
Object::connect:  (receiver name: 'KritaFill/KisToolGradient')                                                     
QObject::connect: Cannot connect KisDoc2::sigProgress(int) to (null)::slotProgress(int)                            
*** KisTiledDataManager::write called                                                                              
Object::disconnect: Unexpected null parameter                                                                      
Kross: "Loading the interpreter library for ruby"                                                                  
Kross: "Successfully loaded Interpreter instance from library."                                                    
Kross: "RubyObject::RubyObject() method=eql?"                                                                      
Kross: "RubyObject::RubyObject() method=exclude_end?"                                                              
Kross: "RubyObject::RubyObject() method=member?"                                                                   
Kross: "RubyObject::RubyObject() method=step"                                                                      
Kross: "RubyObject::RubyObject() method==="                                                                        
Kross: "RubyObject::RubyObject() method=to_s"                                                                      
Kross: "RubyObject::RubyObject() method===="                                                                       
Kross: "RubyObject::RubyObject() method=hash"                                                                      
Kross: "RubyObject::RubyObject() method=first"                                                                     
Kross: "RubyObject::RubyObject() method=last"                                                                      
Kross: "RubyObject::RubyObject() method=end"                                                                       
Kross: "RubyObject::RubyObject() method=include?"                                                                  
Kross: "RubyObject::RubyObject() method=each"                                                                      
Kross: "RubyObject::RubyObject() method=begin"                                                                     
Kross: "RubyObject::RubyObject() method=inspect"                                                                   
QObject::connect: Cannot connect KoMainWindow::restoringDone() to (null)::removeUnusedOptionWidgets()              

** (process:18682): WARNING **: 1 dictionaries weren't free'd.


mutrace: Showing statistics for process krita (pid 18682).
mutrace: 398743 mutexes used.                             

Mutex #190168 (0x0x8090c3c) first referenced by:
        /usr/local/lib/libmutrace.so(pthread_mutex_lock+0x58) [0xb8035108]
        /usr/lib/libglib-2.0.so.0(g_source_attach+0x97) [0xb5651ae7]      
        /usr/lib/libQtCore.so.4(_ZN27QEventDispatcherGlibPrivateC2EP13_GMainContext+0xc8) [0xb7f5fdf8]
        /usr/lib/libQtGui.so.4 [0xb5b4ef3d]                                                           
        /usr/lib/libQtGui.so.4 [0xb5b4f023]                                                           
        /usr/lib/libQtGui.so.4(_ZN19QApplicationPrivate21createEventDispatcherEv+0x90) [0xb5b15640]   
        /usr/lib/libQtCore.so.4(_ZN16QCoreApplication4initEv+0xac) [0xb7f374dc]                       
        /usr/lib/libQtCore.so.4(_ZN16QCoreApplicationC2ER23QCoreApplicationPrivate+0x47) [0xb7f375e7] 
        /usr/lib/libQtGui.so.4(_ZN12QApplicationC2ERiPPcbi+0x5a) [0xb5ab3b7a]                         
        /usr/lib/libkdeui.so.5(_ZN12KApplicationC2Eb+0x4e) [0xb696ecbe]                               
        /home/boud/kde/inst/lib/libkomain.so.6(_ZN13KoApplicationC1Ev+0x2e) [0xb7641d5e]              
        /home/boud/kde/inst/lib/libkdeinit4_krita.so(kdemain+0x16d) [0xb80309ed]                      
        krita [0x80488b2]                                                                             

Mutex #389194 (0x0x8051c18) first referenced by:
        /usr/local/lib/libmutrace.so(pthread_mutex_lock+0x58) [0xb8035108]
        /usr/lib/libQtCore.so.4 [0xb7e3ead7]                              
        /usr/lib/libQtCore.so.4(_ZN6QMutex4lockEv+0x165) [0xb7e3a1f5]     
        /usr/lib/libQtCore.so.4(_ZN11QMetaObject7connectEPK7QObjectiS2_iiPi+0x61) [0xb7f45fc1]
        /usr/lib/libQtCore.so.4(_ZN7QObject7connectEPKS_PKcS1_S3_N2Qt14ConnectionTypeE+0x3a2) [0xb7f46472]
        /usr/lib/libQtGui.so.4(_ZN19QItemSelectionModelC1EP18QAbstractItemModelP7QObject+0x1fa) [0xb603657a]
        /usr/lib/libQtGui.so.4(_ZN17QAbstractItemView8setModelEP18QAbstractItemModel+0x459) [0xb5fdb1b9]    
        /usr/lib/libQtGui.so.4(_ZN11QHeaderView8setModelEP18QAbstractItemModel+0x24d) [0xb5ff37dd]          
        /usr/lib/libQtGui.so.4(_ZN10QTableView8setModelEP18QAbstractItemModel+0x4d) [0xb600fabd]            
        /home/boud/kde/inst/lib/libkocolorwidgets.so.6(_ZN21KoResourceItemChooserC1EP31KoAbstractResourceServerAdapterP7QWidget+0xdb) 
[0xb72e707b]                                                                                                                                              
        /home/boud/kde/inst/lib/libkritalibpaintop.so.6(_ZN15KisBrushChooserC1EP7QWidgetPKc+0x2ce) [0xb18a9eee]                                 
        /home/boud/kde/inst/lib/libkritalibpaintop.so.6(_ZN23KisBrushSelectionWidgetC1EP7QWidget+0x2df) [0xb18adc3f]                            
        /home/boud/kde/inst/lib/libkritalibpaintop.so.6(_ZN14KisBrushOptionC1Ev+0xa8) [0xb18acb08]                                              

Mutex #206539 (0x0x89e1b10) first referenced by:
        /usr/local/lib/libmutrace.so(pthread_mutex_init+0x124) [0xb80352a4]
        /usr/lib/libQtCore.so.4 [0xb7e3ed63]                               
        /usr/lib/libQtCore.so.4(_ZN6QMutexC1ENS_13RecursionModeE+0x37) [0xb7e3a2c7]
        /home/boud/kde/inst/lib/libkoresources.so.6(_ZN24KoResourceServerProviderC1Ev+0x6be) [0xb72b631e]
        /home/boud/kde/inst/lib/libkoresources.so.6(_ZN24KoResourceServerProvider8instanceEv+0x4e) [0xb72b659e]
        /home/boud/kde/inst/lib/kde4/karbondockersplugin.so [0xb0a87055]                                       
        /home/boud/kde/inst/lib/kde4/karbondockersplugin.so [0xb0a8c43b]                                       
        /home/boud/kde/inst/lib/libkomain.so.6(_ZN12KoMainWindow16createDockWidgetEP13KoDockFactory+0x56f) [0xb767af9f]
        /home/boud/kde/inst/lib/libkomain.so.6(_ZN6KoView16createDockWidgetEP13KoDockFactory+0x3f) [0xb76a089f]        
        /home/boud/kde/inst/lib/libkomain.so.6(_ZN6KoViewC2EP10KoDocumentP7QWidget+0x448) [0xb76a2528]                 
        /home/boud/kde/inst/lib/libkritaui.so.6(_ZN8KisView2C1EP7KisDoc2P7QWidget+0x4b) [0xb7cd19cb]                   
        /home/boud/kde/inst/lib/libkritaui.so.6(_ZN7KisDoc218createViewInstanceEP7QWidget+0x3e) [0xb7c51abe]           
        /home/boud/kde/inst/lib/libkomain.so.6(_ZN10KoDocument10createViewEP7QWidget+0x21) [0xb764f081]                
        /home/boud/kde/inst/lib/libkomain.so.6(_ZN12KoMainWindow15setRootDocumentEP10KoDocument+0x353) [0xb767cd53]    
        /home/boud/kde/inst/lib/libkomain.so.6(_ZN10KoDocument17showStartUpWidgetEP12KoMainWindowb+0x27c) [0xb7659c9c] 

Mutex #389390 (0x0x97aa5b4) first referenced by:
        /usr/local/lib/libmutrace.so(pthread_mutex_lock+0x58) [0xb8035108]
        /usr/lib/libglib-2.0.so.0(g_source_attach+0x97) [0xb5651ae7]      
        /usr/lib/libQtCore.so.4(_ZN27QEventDispatcherGlibPrivateC1EP13_GMainContext+0xc8) [0xb7f60098]
        /usr/lib/libQtCore.so.4(_ZN20QEventDispatcherGlibC1EP7QObject+0x3b) [0xb7f603ab]              
        /usr/lib/libQtCore.so.4 [0xb7e3f3a4]                                                          
        /usr/lib/libQtCore.so.4 [0xb7e3f549]                                                          
        /lib/libpthread.so.0 [0xb7ddd1b5]                                                             
        /lib/libc.so.6(clone+0x5e) [0xb57d73be]                                                       

Mutex #315767 (0x0x830d6a8) first referenced by:
        /usr/local/lib/libmutrace.so(pthread_mutex_init+0x124) [0xb80352a4]
        /usr/lib/libQtCore.so.4 [0xb7e3ed63]                               
        /usr/lib/libQtCore.so.4(_ZN6QMutexC1ENS_13RecursionModeE+0x37) [0xb7e3a2c7]
        /home/boud/kde/inst/lib/libkritalibbrush.so.6(_ZN14KisBrushServerC1Ev+0x22c) [0xb1882dbc]
        /home/boud/kde/inst/lib/libkritalibbrush.so.6(_ZN14KisBrushServer8instanceEv+0x4e) [0xb1882efe]
        /home/boud/kde/inst/lib/libkritalibpaintop.so.6(_ZN15KisBrushChooserC1EP7QWidgetPKc+0x274) [0xb18a9e94]
        /home/boud/kde/inst/lib/libkritalibpaintop.so.6(_ZN23KisBrushSelectionWidgetC1EP7QWidget+0x2df) [0xb18adc3f]
        /home/boud/kde/inst/lib/libkritalibpaintop.so.6(_ZN14KisBrushOptionC1Ev+0xa8) [0xb18acb08]                  
        /home/boud/kde/inst/lib/kde4/kritacomplexbrush.so [0xb185a09c]                                              
        /home/boud/kde/inst/lib/kde4/kritacomplexbrush.so [0xb185a4db]                                              
        /home/boud/kde/inst/lib/kde4/kritacomplexbrush.so [0xb18571e9]                                              
        /home/boud/kde/inst/lib/kde4/kritacomplexbrush.so [0xb185770c]                                              
        /usr/lib/libkdecore.so.5(_ZN14KPluginFactory6createEPKcP7QWidgetP7QObjectRK5QListI8QVariantERK7QString+0x14c) [0xb66cd7fc]
        /home/boud/kde/inst/lib/libkoplugin.so.6(_ZN14KoPluginLoader4loadERK7QStringS2_RKNS_13PluginsConfigE+0x1421) [0xb70517a1] 
        /home/boud/kde/inst/lib/libkritaimage.so.6(_ZN18KisPaintOpRegistry8instanceEv+0xc6) [0xb7a3e4a6]                          

Mutex #230783 (0x0x915dbf8) first referenced by:
        /usr/local/lib/libmutrace.so(pthread_mutex_init+0x124) [0xb80352a4]
        /usr/lib/libQtCore.so.4 [0xb7e3ed63]                               
        /usr/lib/libQtCore.so.4(_ZN6QMutexC1ENS_13RecursionModeE+0x37) [0xb7e3a2c7]
        /home/boud/kde/inst/lib/libkritaui.so.6(_ZN25KisResourceServerProviderC1Ev+0x317) [0xb7cb4147]
        /home/boud/kde/inst/lib/libkritaui.so.6(_ZN25KisResourceServerProvider8instanceEv+0x4e) [0xb7cb463e]
        /home/boud/kde/inst/lib/libkritaui.so.6 [0xb7d563b6]                                                
        /home/boud/kde/inst/lib/libkritaui.so.6 [0xb7c4363d]                                                
        /home/boud/kde/inst/lib/libkritaui.so.6 [0xb7c44067]                                                
        /home/boud/kde/inst/lib/libkritaui.so.6(_ZN8KisView29createGUIEv+0x1fd) [0xb7cce07d]                
        /home/boud/kde/inst/lib/libkritaui.so.6(_ZN8KisView2C1EP7KisDoc2P7QWidget+0x4e8) [0xb7cd1e68]       
        /home/boud/kde/inst/lib/libkritaui.so.6(_ZN7KisDoc218createViewInstanceEP7QWidget+0x3e) [0xb7c51abe]
        /home/boud/kde/inst/lib/libkomain.so.6(_ZN10KoDocument10createViewEP7QWidget+0x21) [0xb764f081]     
        /home/boud/kde/inst/lib/libkomain.so.6(_ZN12KoMainWindow15setRootDocumentEP10KoDocument+0x353) [0xb767cd53]
        /home/boud/kde/inst/lib/libkomain.so.6(_ZN10KoDocument17showStartUpWidgetEP12KoMainWindowb+0x27c) [0xb7659c9c]
        /home/boud/kde/inst/lib/libkomain.so.6(_ZN13KoApplication5startEv+0xcc2) [0xb7642c52]                         

Mutex #100941 (0x0x87d8ee0) first referenced by:
        /usr/local/lib/libmutrace.so(pthread_mutex_init+0x124) [0xb80352a4]
        /usr/lib/libQtCore.so.4 [0xb7e3ed63]                               
        /usr/lib/libQtCore.so.4(_ZN6QMutexC1ENS_13RecursionModeE+0x37) [0xb7e3a2c7]
        /usr/lib/libQtCore.so.4(_ZN14QReadWriteLockC1ENS_13RecursionModeE+0x38) [0xb7e3ac28]
        /home/boud/kde/inst/lib/libkritaimage.so.6 [0xb7a2444d]                             
        /home/boud/kde/inst/lib/libkritaimage.so.6(_ZN19KisTiledDataManagerC2EjPKh+0x71) [0xb7a1fd61]
        /home/boud/kde/inst/lib/libkritaimage.so.6(_ZN14KisPaintDeviceC1E16KisWeakSharedPtrI7KisNodeEPK12KoColorSpaceRK7QString+0x1b6) 
[0xb7aaa566]                                                                                                                                             
        /home/boud/kde/inst/lib/libkritaimage.so.6(_ZN13KisPaintLayerC1E12KisSharedPtrI8KisImageERK7QStringhPK12KoColorSpace+0x158) 
[0xb7ab3248]
        /home/boud/kde/inst/lib/libkritaui.so.6 [0xb7cfd66d]                                                                                    
        /home/boud/kde/inst/lib/libkritaui.so.6 [0xb7d009b7]                                                                                    
        /home/boud/kde/inst/lib/libkritaui.so.6 [0xb7d01d81]                                                                                    
        /home/boud/kde/inst/lib/libkritaui.so.6 [0xb7d0312a]                                                                                    
        /home/boud/kde/inst/lib/libkritaui.so.6(_ZN7KisDoc27loadXMLERK13KoXmlDocumentP7KoStore+0x375) [0xb7c52da5]                              
        /home/boud/kde/inst/lib/libkomain.so.6(_ZN10KoDocument33loadNativeFormatFromStoreInternalEP7KoStore+0x38a) [0xb765e23a]                 
        /home/boud/kde/inst/lib/libkomain.so.6(_ZN10KoDocument25loadNativeFormatFromStoreERK7QString+0xa6) [0xb765ed46]                         

Mutex #228531 (0x0xaf101020) first referenced by:
        /usr/local/lib/libmutrace.so(pthread_mutex_init+0x124) [0xb80352a4]
        /usr/lib/libQtCore.so.4 [0xb7e3ed63]                               
        /usr/lib/libQtCore.so.4(_ZN6QMutexC1ENS_13RecursionModeE+0x37) [0xb7e3a2c7]
        /usr/lib/libQtCore.so.4(_ZN14QReadWriteLockC1ENS_13RecursionModeE+0x38) [0xb7e3ac28]
        /home/boud/kde/inst/lib/libkritaimage.so.6 [0xb7a2530d]                             
        /home/boud/kde/inst/lib/libkritaimage.so.6(_ZN19KisTiledDataManagerC2ERKS_+0x91) [0xb7a23111]
        /home/boud/kde/inst/lib/libkritaimage.so.6(_ZN14KisPaintDeviceC1ERKS_+0xb5) [0xb7aadf45]     
        /home/boud/kde/inst/lib/libkritaimage.so.6(_ZN13KisPaintLayer16updateProjectionERK5QRect+0x243) [0xb7ab1973]
        /home/boud/kde/inst/lib/libkritaimage.so.6 [0xb7adc9b1]                                                     
        /home/boud/kde/inst/lib/libkritaimage.so.6 [0xb7ac55fa]                                                     
        /home/boud/kde/inst/lib/libkritaimage.so.6 [0xb7ac575e]                                                     
        /usr/lib/libQtCore.so.4(_ZN14QMetaCallEvent13placeMetaCallEP7QObject+0x2b) [0xb7f42eab]                     
        /usr/lib/libQtCore.so.4(_ZN7QObject5eventEP6QEvent+0x2c0) [0xb7f44970]                                      
        /usr/lib/libQtGui.so.4(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0xbc) [0xb5aae7bc]         
        /usr/lib/libQtGui.so.4(_ZN12QApplication6notifyEP7QObjectP6QEvent+0xbe) [0xb5ab6aae]                        

Mutex #84154 (0x0xb0b55f08) first referenced by:
        /usr/local/lib/libmutrace.so(pthread_mutex_init+0x124) [0xb80352a4]
        /usr/lib/libQtCore.so.4(_ZN14QWaitConditionC1Ev+0x34) [0xb7e40374] 
        /usr/lib/libQtCore.so.4(_ZN14QReadWriteLockC1ENS_13RecursionModeE+0x4e) [0xb7e3ac3e]
        /home/boud/kde/inst/lib/libkritaimage.so.6 [0xb7a2530d]                             
        /home/boud/kde/inst/lib/libkritaimage.so.6(_ZN19KisTiledDataManagerC2ERKS_+0x91) [0xb7a23111]
        /home/boud/kde/inst/lib/libkritaimage.so.6(_ZN14KisPaintDeviceC1ERKS_+0xb5) [0xb7aadf45]     
        /home/boud/kde/inst/lib/libkritaimage.so.6(_ZN13KisPaintLayer16updateProjectionERK5QRect+0x243) [0xb7ab1973]
        /home/boud/kde/inst/lib/libkritaimage.so.6 [0xb7adc9b1]                                                     
        /home/boud/kde/inst/lib/libkritaimage.so.6 [0xb7ac55fa]                                                     
        /home/boud/kde/inst/lib/libkritaimage.so.6 [0xb7ac575e]                                                     
        /usr/lib/libQtCore.so.4(_ZN14QMetaCallEvent13placeMetaCallEP7QObject+0x2b) [0xb7f42eab]                     
        /usr/lib/libQtCore.so.4(_ZN7QObject5eventEP6QEvent+0x2c0) [0xb7f44970]                                      
        /usr/lib/libQtGui.so.4(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0xbc) [0xb5aae7bc]         
        /usr/lib/libQtGui.so.4(_ZN12QApplication6notifyEP7QObjectP6QEvent+0xbe) [0xb5ab6aae]                        
        /usr/lib/libkdeui.so.5(_ZN12KApplication6notifyEP7QObjectP6QEvent+0x3d) [0xb696b72d]                        

Mutex #389102 (0x0x8051bb0) first referenced by:
        /usr/local/lib/libmutrace.so(pthread_mutex_lock+0x58) [0xb8035108]
        /usr/lib/libQtCore.so.4 [0xb7e3ead7]                              
        /usr/lib/libQtCore.so.4(_ZN6QMutex4lockEv+0x165) [0xb7e3a1f5]     
        /usr/lib/libQtCore.so.4(_ZN16QCoreApplication9postEventEP7QObjectP6QEventi+0x47) [0xb7f33e17]
        /usr/lib/libQtCore.so.4(_ZN16QCoreApplication9postEventEP7QObjectP6QEvent+0x2c) [0xb7f340dc]
        /usr/lib/libQtCore.so.4 [0xb7f45aad]
        /usr/lib/libQtCore.so.4(_ZN11QMetaObject8activateEP7QObjectiiPPv+0x147) [0xb7f496a7]
        /usr/lib/libQtCore.so.4(_ZN11QMetaObject8activateEP7QObjectPKS_iPPv+0x52) [0xb7f4a412]
        /home/boud/kde/inst/lib/libkoresources.so.6(_ZN31KoAbstractResourceServerAdapter13resourceAddedEP10KoResource+0x43) [0xb72ba403]
        /home/boud/kde/inst/lib/libkoresources.so.6(_ZN31KoAbstractResourceServerAdapter17emitResourceAddedEP10KoResource+0x24) 
[0xb72ba434]
        /home/boud/kde/inst/lib/libkritaui.so.6 [0xb7c4e8c4]
        /home/boud/kde/inst/lib/libkritaui.so.6 [0xb7cb63db]
        /home/boud/kde/inst/lib/libkoresources.so.6(_ZN22KoResourceLoaderThread3runEv+0x43) [0xb72b5a03]

mutrace: Showing 10 most contended mutexes:

 Mutex #   Locked  Changed    Cont. tot.Time[ms] avg.Time[ms] max.Time[ms] Flag
  190168 50549916      745      234   127411.158        0.003      100.051 -.--
  389194      203      143       19        1.530        0.008        0.548 -.--
  206539      225      128       14        0.860        0.004        0.016 -.--
  389390     4551      230        9       10.865        0.002        0.143 -.--
  315767       39       29        6        0.124        0.003        0.011 -.--
  230783       29       23        5        0.095        0.003        0.011 -.--
  100941       43       23        2        0.173        0.004        0.017 -.--
  228531        9        7        2        0.030        0.003        0.007 -.--
   84154       10        5        2        0.213        0.021        0.170 -.--
  389102        6        4        2        0.020        0.003        0.006 -.--
     ...      ...      ...      ...          ...          ...          ... ||||
                                                                           /|||
                 State:                          x = dead, ! = inconsistent /||
                   Use:                          R = used in realtime thread /|
                  Type:          r = RECURSIVE, e = ERRRORCHECK, a = ADAPTIVE /
              Protocol:                               i = INHERIT, p = PROTECT

mutrace: Note that the flags column R is only valid in --track-rt mode!

mutrace: Total runtime is 559138.321 ms.

mutrace: WARNING: 11427 internal hash collisions detected. Results might not be as reliable as they could be.
mutrace:          Try to increase --hash-size=, which is currently at 40000.

mutrace: WARNING: 5 internal mutex contention detected. Results might not be reliable as they could be.
mutrace:          Try to increase --hash-size=, which is currently at 40000.

-- 
Boudewijn Rempt | http://www.valdyas.org



More information about the kimageshop mailing list