1RDTSET(8)                   System Manager's Manual                  RDTSET(8)
2
3
4

NAME

6       rtdset  -  Task  CPU affinity and Intel(R) Resource Director Technology
7       control tool
8

SYNOPSIS

10       rdtset  -t  <feature=value;...cpu=cpulist>...  -c  <cpulist>  [-I]  (-p
11       <pidlist> | [-k] cmd [<args>...])
12       rdtset  -r  <cpulist> -t <feature=value;...cpu=cpulist>... -c <cpulist>
13       [-I] (-p <pidlist> | [-k] cmd [<args>...])
14       rdtset -r <cpulist> -c <cpulist> (-p <pidlist> | [-k] cmd [<args>...])
15       rdtset  -r  <cpulist>  -t  <feature=value;...cpu=cpulist>...  [-I]   -p
16       <pidlist>
17       rdtset  -t  <feature=value>  -I [-c <cpulist>] (-p <pidlist> | [-k] cmd
18       [<args>...])
19

DESCRIPTION

21       For more details on Intel(R) Resource Director Technology see
22       http://www.intel.com/content/www/us/en/architecture-and-technol
23       ogy/resource-director-technology.html
24       or https://github.com/01org/intel-cmt-cat/wiki
25
26       The  rdtset  tool  provides support to set up the CAT (Cache Allocation
27       Technology) and MBA (Memory Bandwidth Allocation)  capabilities  for  a
28       task  and  set its CPU affinity. Current Intel(R) RDT allocation opera‐
29       tions of the utility  are  based  on  controlling  MSR  registers  (via
30       libpqos library). Class of service 0 (CLOS0) is assumed as default one.
31       In command mode, rdtset forks and one  process  executes  the  command.
32       Another  process  waits  for the task to terminate and restores default
33       allocation state by assigning cpu's back to CLOS0.   This  behavior  is
34       not in place in PID mode.
35

OPTIONS

37       rdtset options are as follow:
38
39       -h, --help
40              Show help
41
42       -v, --verbose
43              Verbose mode
44
45       -I, --iface-os
46              Set the library to use the kernel implementation. If not set the
47              default implementation is to program the MSR's directly.
48
49       -t --rdt feature=value;...cpu=cpulist
50              Specify Intel(R) RDT configuration, single  class  configuration
51              per -t, multiple -t options allowed.
52              Accepted values for features:
53              2, l2 for level 2 cache
54              3, l3 for level 3 cache
55              m, mba for MBA
56
57              For example:
58
59              -t 'l3=0xf;cpu=1'
60              CPU 1 uses four L3 cache-ways (mask 0xf)
61
62              -t 'l3=0xf;cpu=2' -t 'l3=0xf0;cpu=3,4,5'
63              CPU 2 uses four L3 cache-ways (mask 0xf), CPUs 3-5 share four L3
64              cache-ways (mask 0xf0), L3 cache-ways used by CPU 2 and 3-4  are
65              non-overlapping
66
67              -t 'l3=0xf;cpu=0-2' -t 'l3=0xf0;cpu=3,4,5'
68              CPUs  0-2  share  four  L3 cache-ways (mask 0xf), CPUs 3-5 share
69              four L3 cache-ways (mask 0xf0), L3 cache-ways used by  CPUs  0-2
70              and 3-5 are non-overlapping
71
72              -t 'l3=0xf,0xf0;cpu=1'
73              On CDP enabled system, CPU 1 uses four cache-ways for code (mask
74              0xf) and four cache-ways for data (mask  0xf0),  data  and  code
75              cache-ways are non-overlapping
76
77              -t 'mba=70;cpu=0-2'
78              CPUs 0-2 can utilize up to 70% of available memory bandwidth
79
80              -t 'mba=50;l3=0xf;cpu=1'
81              CPU  1  uses four L3 (mask 0xf) cache-ways and can utilize up to
82              50% of available memory bandwidth
83
84              Example PID type allocation configuration (requires -I option):
85
86              -t 'l3=0xf'
87              Allocate four L3 (mask 0xf) cache-ways  to  specified  PIDs  (-p
88              option) or command
89
90              -t 'l3=0xf;cpu=1;l3=0x1'
91              CPU 1 uses four L3 (mask 0xf) cache-ways
92              Specified  PIDs  (-p  option)  or command uses one L3 (mask 0x1)
93              cache-way
94
95
96       -c <cpulist>, --cpu <cpulist>
97              Specify CPU affinity configuration, a numerical list of  proces‐
98              sors.  The  numbers  are  separated  by  commas  and may include
99              ranges. For example: 1-3,4,5.
100
101       -p <pidlist>, --pid <pidlist>
102              Operate on existing PIDs
103
104       -r <cpulist>, --reset <cpulist>
105              Reset allocation for CPUs (assign COS#0 to listed CPUs)
106              For example:
107
108              -r 0-5
109              Reset allocation for CPUs 0-5
110
111              -r 0-5 -t 'l3=0xf0;cpu=0-5' -c 0-5 -p $BASHPID
112              Reconfigure allocation for CPUs 0-5
113              In order to reconfigure allocation, it is needed to  reset  cur‐
114              rent configuration
115
116
117       -k, --sudokeep
118              Do not drop sudo elevated privileges
119

NOTES

121       CAT and MBA are configured using Model Specific Registers (MSRs) to set
122       up the class of  service  masks  and  manage  the  association  of  the
123       cores/logical  threads to a class of service.  The rdtset software exe‐
124       cutes in user space, and access to the MSRs is obtained through a stan‐
125       dard  Linux*/FreeBSD*  interface.  Under Linux, the virtual file system
126       structure /dev/cpu/CPUNUM/msr provides an interface to read  and  write
127       the  MSRs,  under FreeBSD it is /dev/cpuctlCPUNUM.  The msr/cpuctl file
128       interface is protected and requires  root  privileges.  The  msr/cpuctl
129       driver  might not be auto-loaded and on some modular kernels the driver
130       may need to be loaded manually:
131
132       Under Linux:
133       sudo modprobe msr
134
135       Under FreeBSD:
136       sudo kldload cpuctl
137
138       Interface enforcement:
139       If you require system wide interface enforcement you can do so by  set‐
140       ting the "RDT_IFACE" environment variable.
141

SEE ALSO

143       msr(4)
144

AUTHOR

146       rdtset      was     written     by     Wojciech     Andralojc     <woj‐
147       ciechx.andralojc@intel.com>,     Tomasz      Kantecki      <tomasz.kan‐
148       tecki@intel.com>,   Michal  Aleksinski  <michalx.aleksinski@intel.com>,
149       Marcel Cornu <marcel.d.cornu@intel.com>
150
151       This is free software; see the source for copying conditions. There  is
152       NO  warranty;  not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
153       PURPOSE.
154
155
156
157                               February 21, 2017                     RDTSET(8)
Impressum