Fusion Proc Filesystem

Fusion provides statistical information in the so called Linux  file system. You could find this under. Each world has its own directory, starting with the first (0) world, for example, if you are interested in the second world, this info is under

The stats file provides total statistics, each other proc file has row information about specific objects used in the fusion system.

stat File
This proc file provides general statistics about the operations inside the fusion module. The following information is displayed:

lease/purchase and cede
These stats has to do with Fusion properties.

Each time an ioct call  or   is issued, the lease/purchase counter will be incremented.

When the ioctl call  is called, then the cede counter is always incremented.

attach and release
These stats are related to Fusion reactor calls.

Each time an ioctl call  is called, then the attach counter is incremented.

Each time an ioctl call  is called, then the detach counter is incremented.

ref up and ref down
These stats are related to the Fusion reference counter calls.

Each time an ioctl call  is called, the ref up counter is incremented.

Each time an ioctl call  is called, then the ref down counter is incremented.

prevail/swoop and dismiss
These stats are related to the Fusion skirmish calls.

Each time an ioctl call  or   is called, then the prevail/swoop counter is incremented.

Each time an ioctl call  is called, then the dismiss counter is incremented.

calls File
The calls file provides statistics about the Fusion calls, each call object has its own row.

pid is the owner pid, id is the call id, count is the number of calls ever made, and the last field is if the calls is idle or executing.

dok@shizo[~] cat /proc/fusion/0/calls ( 4964) 0x00000003 (2036 calls) idle ( 4964) 0x00000004 (80 calls) idle ( 4964) 0x00000000 (1 calls) idle ( 4964) 0x00000001 (1 calls) idle ( 4964) 0x0000000a (0 calls) idle ( 4964) 0x00000009 (0 calls) idle ( 4964) 0x00000008 (0 calls) idle ( 4964) 0x00000007 (0 calls) idle ( 4964) 0x00000006 (0 calls) idle ( 4964) 0x00000005 (0 calls) idle ( 4964) 0x00000002 (0 calls) idle

pid | call id | no. calls | state

fusionees File
The fusionees file provides statistics about the various Fusionees in the system, each row is a specific fusionee.

(num) is the fusionee parent id, the next hex number is the fusionee id. x messages waiting is the current fusionee message count, x received is how many messages the fusionee has so far received, and x sent is the total amount of messages the fusionee has sent.

dok@shizo[~] cat /proc/fusion/0/fusionees ( 4964) 0x00000001 (  0 messages waiting,    2379 received,    6265 sent) ( 5366) 0x00000006 (  0 messages waiting,    3200 received,       4 sent) ( 5725) 0x00000008 (  0 messages waiting,    1939 received,       4 sent) ( 4985) 0x00000004 (  0 messages waiting,      10 received,       0 sent) ( 4982) 0x00000003 (  0 messages waiting,       0 received,       0 sent) ( 4979) 0x00000002 (  0 messages waiting,       0 received,       0 sent)

pid | fusion id | low level message statistics (includes reactor or call messages etc.)

skirmish File
The skirmish file provides statistics about the various skirmish objects in the system.

The "last ref" on the left specifies the time that passed since the last access, e.g. lock or unlock.

dok@shizo[~] cat /proc/fusion/0/skirmishs 0 ms  ( 4964) 0x00000013  Surface Manager 0 ms  ( 4964) 0x0000001a  Layer Context 0 ms  ( 4964) 0x0000001b  Layer Region 1 ms  ( 4964) 0x00000011  AT Translated Set 2 key 1 ms  ( 4964) 0x0000001e  Layer Context 4.5 s ( 4964) 0x0000000f  Razer Razer Copperhead 4.9 s ( 4964) 0x00000003  Fusion Main Pool 4.9 s ( 4964) 0x00000005  DirectFB Main Pool 4.9 s ( 4964) 0x0000000a  Surface Pool 4.9 s ( 4964) 0x00000006  DirectFB Surface Pool 4.9 s ( 4964) 0x00000002  Fusion Reactor Globals 5.3 s ( 4964) 0x0000000b  Window Pool 219.4 s ( 4964) 0x00000000  Fusion SHM 219.4 s ( 4964) 0x00000004  Arena 'DirectFB/Core' 228.0 s ( 4964) 0x0000000c  Clipboard Core 243.3 s ( 4964) 0x00000016  Display Layer 0 243.3 s ( 4964) 0x00000001  Fusion Arenas 1.0 h ( 4964) 0x0000001f  Layer Region 1.0 h ( 4964) 0x0000000e  IMPS/2 Mouse 1.0 h ( 4964) 0x00000010  Razer Razer Copperhead 1.0 h ( 4964) 0x00000012  Keyboard 1.0 h ( 4964) 0x00000017  Display Layer 1 1.0 h ( 4964) 0x00000007  Layer Context Pool 1.0 h ( 4964) 0x00000008  Layer Region Pool 1.0 h ( 4964) 0x00000019  Display Layer 3 1.0 h ( 4964) 0x00000018  Display Layer 2 1.0 h ( 4964) 0x00000015  Screen 1 1.0 h ( 4964) 0x00000014  Screen 0 1.0 h ( 4964) 0x0000000d  Colorhash Core 1.0 h ( 4964) 0x00000009  Palette Pool

last ref | pid | skirmish id | name

If locks are held, they are shown on the right with the lock count and both the fusion and process id of the locker.

dok@shizo[~] cat /proc/fusion/0/skirmishs 0 ms  ( 4964) 0x00000013  Surface Manager            - 1x [0x00000001] (4964) 0 ms  ( 4964) 0x0000001b  Layer Region               - 1x [0x00000001] (4964) 0 ms  ( 4964) 0x0000001a  Layer Context              - 1x [0x00000001] (4964) 1 ms  ( 4964) 0x00000011  AT Translated Set 2 key 1 ms  ( 4964) 0x0000001e  Layer Context [...]

| count | fusion id | pid

reactors File
The reactors file provides statistics about the various reactor objects in the system.

The "last ref" on the left specifies the time that passed since the last access, e.g. dispatch.

dok@shizo[~] cat /proc/fusion/0/reactors 2 ms  ( 4964) 0x00000003  AT Translated Set 2 key    6379x dispatch, 1 nodes 2 ms  ( 4964) 0x00000851  Window Pool                4677x dispatch, 1 nodes 3.5 s ( 4964) 0x00000001  Razer Razer Copperhead    151056x dispatch, 1 nodes 3.5 s ( 4964) 0x00000010  Surface Pool               6325x dispatch, 0 nodes 3.5 s ( 4964) 0x0000000f  Surface Pool               6325x dispatch, 0 nodes 3.5 s ( 4964) 0x000009e9  Surface Pool                  1x dispatch, 1 nodes 3.6 s ( 4964) 0x00000703  Window Pool               26860x dispatch, 1 nodes 4.3 s ( 5725) 0x000005a6  Window Pool                2099x dispatch, 1 nodes 5.6 s ( 5366) 0x00000586  Window Pool                3292x dispatch, 1 nodes 776.6 s ( 4964) 0x00000852  Surface Pool                172x dispatch, 1 nodes 807.8 s ( 4985) 0x00000021  Window Pool                  13x dispatch, 1 nodes 853.0 s ( 4964) 0x0000003a  Window Pool                3442x dispatch, 1 nodes 853.6 s ( 4964) 0x0000042f  Window Pool               14300x dispatch, 1 nodes 940.2 s ( 4964) 0x0000042d  Window Pool                6694x dispatch, 1 nodes 940.2 s ( 4964) 0x00000704  Surface Pool                  1x dispatch, 1 nodes 0.3 h ( 5729) 0x000005b5  Surface Pool                  0x dispatch, 0 nodes 0.4 h ( 5725) 0x000005a4  Surface Pool                  1x dispatch, 1 nodes 0.4 h ( 5725) 0x000005a7  Surface Pool                  1x dispatch, 1 nodes [...]

last ref | pid | reactor id | name               | total dispatch count | no. attached processes

properties File
The properties file lists information about the various property objects.

The "last ref" on the left specifies the time that passed since the last access, e.g. lease or cede.

dok@shizo[~] cat /proc/fusion/0/properties 0 ms  ( 4964) 0x00000000

last ref | pid | property id

If a property is leased or purchased, it's shown on the right.

dok@shizo[~] cat /proc/fusion/0/properties 0 ms  ( 4964) 0x00000000                            leased by 0x00000001 (4964) 1x

| fusion id | pid | count