================================================================================ README for PQoS Utility Configuration files July 2016 ================================================================================ Contents ======== - 1 Overview - 2 General Settings - 3 Allocation Settings - 4 Monitoring Settings ================================================================================ 1.0 Overview ================================================================================ Configuration files are used to set up the PQoS utility with pre-defined settings for custom use cases. The "./pqos -f" option is used to specify a config file to be parsed by the utility on startup. - E.g. "./pqos -f path/to/config/example.cfg" Found below are a list of settings that can be used to pass options to the utility. ================================================================================ 2.0 General Settings ================================================================================ Description: Selects showing current allocation settings Syntax: show-alloc: <no args required> Example: show-alloc: Description: Selects verbose mode on Syntax: verbose-mode: <no args required> Example: verbose-mode: Description: Selects log file Syntax: log-file: <log file> Exmaple: log-file: /tmp/example.log Description: Selects event monitoring time Syntax: monitor-time: <time in seconds> Example: monitor-time: 4 monitor-time: inf Description: Selects monitoring interval (1 = 100ms) Syntax: monitor-interval: <interval in 100ms> Example: monitor-interval: 10 Description: Selects event monitoring output file Syntax: monitor-file: <file name> Example: monitor-file: /tmp/example.xml Description: Selects type of event monitoring output file Syntax: monitor-file-type: <file type> Example: monitor-file-type: xml ================================================================================ 3.0 Allocation Settings ================================================================================ Currently supported allocation type(s): - Last Level Cache (llc) 3.1 LLC Allocation ================== Description: Resets allocation technologies (L2/L3 CAT) and optionally reconfigures L3 CDP. Syntax: reset-cat: [l3cdp-on|l3cdp-off|l3cdp-any] Example: reset-cat: l3cdp-on Description: Sets allocation class(es) of service For CDP, 'c' or 'd' letters can be used after class id to identify if definition applies to code or data mask Syntax: alloc-class-set: <alloc type>:<class id>[cdCD]= \ <class definition>; Example: (CDP - 20LLC ways) alloc-class-set: llc:0d=0xfff;llc:0c=0xfff00; \ llc:1=0x0fff;llc:2=0x0ff;llc:3=0x00f; (Non CDP - 20LLC ways) alloc-class-set: llc:0=0xfffff;llc:1=0x00fff; \ llc:2=0x000ff;llc:3=0x0000f; Description: Sets association between core(s) and allocation class(es) of service Syntax: alloc-assoc-set: <alloc type>:<class id>=<list of cores> Example: alloc-assoc-set: llc:0=0-2 alloc-assoc-set: llc:1=3 alloc-assoc-set: llc:2=4 alloc-assoc-set: llc:3=5 Description: Defines allocation class(es) of service from profile Syntax: alloc-class-select: <profile name> Example: alloc-class-select: CFG0 ================================================================================ 4.0 Monitoring Settings ================================================================================ Currently supported event type(s): - Last Level Cache Occupancy (llc) - Local Memory Bandwidth (mbl) - Remote Memory Bandwidth (mbr) Description: Selects core(s) and events to be monitored Syntax: monitor-cores: <event type>:<list of cores> Example: monitor-cores: mbl:0-5 Description: Selects PID/TID(s) and events to be monitored Syntax: monitor-pids: <event type>:<list of pids> Example: monitor-pids: llc:1,22,3075