Here is what I have done:
I have slightly reformated oprofile output to just keep # of calls and function name:
1438298   OS::readPort(Asic*, unsigned int)
47365     KCL_GlobalKernelScheduler
41736     Asic::WaitForBitsClear::ConditionSuccessful()
25689     Asic::WaitUntil::WaitForComplete()
7253      KAS_GetTickCounter
2         KCL_SPINLOCK_STATIC_Grab
1         KCL_SEMAPHORE_STATIC_Down
After having waited several minutes, I have redone a second oprofile session:
256155    KCL_GlobalKernelScheduler
31828     firegl_hardwareHangRecovery
Note that there is no corresponding spinlock unlock or semaphore_up. I am not totally sure that oprofile is 100% accurate or if it does some kind of statistical profiling where you do not get a 100% accurate picture but since X becomes hang and unkillable, what oprofile shows seems accurate. fglrx is stuck in a deadlock.
I will redo the experiment without Crossfire to see what is the typical fglrx profile when invoking glxinfo.
I want you to find in this blog informations about C++ programming that I had a hard time to find in the first place on the web.
| Sun | Mon | Tue | Wed | Thu | Fri | Sat | 
|---|---|---|---|---|---|---|
| << < | Current | > >> | ||||
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 | 
| 12 | 13 | 14 | 15 | 16 | 17 | 18 | 
| 19 | 20 | 21 | 22 | 23 | 24 | 25 | 
| 26 | 27 | 28 | 29 | 30 | 31 | |
 
   XML Feeds
 XML Feeds