1 ========================== 1 ========================== 2 ARM Cache Coherent Network 2 ARM Cache Coherent Network 3 ========================== 3 ========================== 4 4 5 CCN-504 is a ring-bus interconnect consisting 5 CCN-504 is a ring-bus interconnect consisting of 11 crosspoints 6 (XPs), with each crosspoint supporting up to t 6 (XPs), with each crosspoint supporting up to two device ports, 7 so nodes (devices) 0 and 1 are connected to cr 7 so nodes (devices) 0 and 1 are connected to crosspoint 0, 8 nodes 2 and 3 to crosspoint 1 etc. 8 nodes 2 and 3 to crosspoint 1 etc. 9 9 10 PMU (perf) driver 10 PMU (perf) driver 11 ----------------- 11 ----------------- 12 12 13 The CCN driver registers a perf PMU driver, wh 13 The CCN driver registers a perf PMU driver, which provides 14 description of available events and configurat 14 description of available events and configuration options 15 in sysfs, see /sys/bus/event_source/devices/cc 15 in sysfs, see /sys/bus/event_source/devices/ccn*. 16 16 17 The "format" directory describes format of the 17 The "format" directory describes format of the config, config1 18 and config2 fields of the perf_event_attr stru 18 and config2 fields of the perf_event_attr structure. The "events" 19 directory provides configuration templates for 19 directory provides configuration templates for all documented 20 events, that can be used with perf tool. For e 20 events, that can be used with perf tool. For example "xp_valid_flit" 21 is an equivalent of "type=0x8,event=0x4". Othe 21 is an equivalent of "type=0x8,event=0x4". Other parameters must be 22 explicitly specified. 22 explicitly specified. 23 23 24 For events originating from device, "node" def 24 For events originating from device, "node" defines its index. 25 25 26 Crosspoint PMU events require "xp" (index), "b 26 Crosspoint PMU events require "xp" (index), "bus" (bus number) 27 and "vc" (virtual channel ID). 27 and "vc" (virtual channel ID). 28 28 29 Crosspoint watchpoint-based events (special "e 29 Crosspoint watchpoint-based events (special "event" value 0xfe) 30 require "xp" and "vc" as above plus "port" (de 30 require "xp" and "vc" as above plus "port" (device port index), 31 "dir" (transmit/receive direction), comparator 31 "dir" (transmit/receive direction), comparator values ("cmp_l" 32 and "cmp_h") and "mask", being index of the co 32 and "cmp_h") and "mask", being index of the comparator mask. 33 33 34 Masks are defined separately from the event de 34 Masks are defined separately from the event description 35 (due to limited number of the config values) i 35 (due to limited number of the config values) in the "cmp_mask" 36 directory, with first 8 configurable by user a 36 directory, with first 8 configurable by user and additional 37 4 hardcoded for the most frequent use cases. 37 4 hardcoded for the most frequent use cases. 38 38 39 Cycle counter is described by a "type" value 0 39 Cycle counter is described by a "type" value 0xff and does 40 not require any other settings. 40 not require any other settings. 41 41 42 The driver also provides a "cpumask" sysfs att 42 The driver also provides a "cpumask" sysfs attribute, which contains 43 a single CPU ID, of the processor which will b 43 a single CPU ID, of the processor which will be used to handle all 44 the CCN PMU events. It is recommended that the 44 the CCN PMU events. It is recommended that the user space tools 45 request the events on this processor (if not, 45 request the events on this processor (if not, the perf_event->cpu value 46 will be overwritten anyway). In case of this p 46 will be overwritten anyway). In case of this processor being offlined, 47 the events are migrated to another one and the 47 the events are migrated to another one and the attribute is updated. 48 48 49 Example of perf tool use:: 49 Example of perf tool use:: 50 50 51 / # perf list | grep ccn 51 / # perf list | grep ccn 52 ccn/cycles/ 52 ccn/cycles/ [Kernel PMU event] 53 <...> 53 <...> 54 ccn/xp_valid_flit,xp=?,port=?,vc=?,dir=?/ 54 ccn/xp_valid_flit,xp=?,port=?,vc=?,dir=?/ [Kernel PMU event] 55 <...> 55 <...> 56 56 57 / # perf stat -a -e ccn/cycles/,ccn/xp_valid 57 / # perf stat -a -e ccn/cycles/,ccn/xp_valid_flit,xp=1,port=0,vc=1,dir=1/ \ 58 58 sleep 1 59 59 60 The driver does not support sampling, therefor 60 The driver does not support sampling, therefore "perf record" will 61 not work. Per-task (without "-a") perf session 61 not work. Per-task (without "-a") perf sessions are not supported.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.