1TUNED_PROFILES_CPU_PARTIMTiIsOcNeIlNlGa(n7e)ous InformatTiUoNnEDM_aPnRuOaFlILES_CPU_PARTITIONING(7)
2
3
4

NAME

6       tuned-profiles-cpu-partitioning  -  Partition  CPUs  into  isolated and
7       housekeeping.
8
9

DESCRIPTION

11       The cpu-partitioning* profiles partition the system CPUs into  isolated
12       and  housekeeping  CPUs. These profiles are intended for latency-sensi‐
13       tive workloads.
14
15       An isolated CPU incurs reduced jitter and reduced interruptions by  the
16       kernel. This is achieved by clearing the CPU from user-space processes,
17       movable kernel threads, interruption handlers, kernel timers, etc.  The
18       only  fixed  source  of interruptions is the 1Hz tick maintained by the
19       kernel to keep CPU usage statistics. Otherwise, the incurred jitter and
20       interruptions, if any, depend on the kernel services used by the thread
21       running on the isolated CPU. Threads that run a busy loop without doing
22       system  calls,  such as user-space drivers that access the hardware di‐
23       rectly, are only expected to be interrupted once a second  by  the  1Hz
24       tick.
25
26       A  housekeeping  CPU  is  the opposite of an isolated CPU. Housekeeping
27       CPUs run all daemons, shell  processes,  kernel  threads,  interruption
28       handlers  and  work  that  can be dispatched from isolated CPUs such as
29       disk I/O, RCU work, timers, etc.
30
31

PROFILES

33       The following profiles are provided:
34
35
36       cpu-partitioning
37              Profile partitioning the system CPUs into  isolated  and  house‐
38              keeping CPUs.
39
40
41       cpu-partitioning-powersave
42              Profile  similar  to the cpu-partitioning profile, but with more
43              flexibility on the C-states configuration.
44
45

CONFIGURATION

47       The   cpu-partitioning   profile   is   configured   by   editing   the
48       /etc/tuned/cpu-partitioning-variables.conf file. There are two configu‐
49       ration options:
50
51
52       isolated_cores=<CPU-LIST>
53              List of CPUs to isolate. This option is mandatory. Any CPUs  not
54              in this list is automatically considered a housekeeping CPU.
55
56       no_balance_cores=<CPU-LIST>
57              List  of  CPUs not be considered by the kernel when doing system
58              wide process load-balancing. Usually, this list  should  be  the
59              same as isolated_cores=. This option is optional.
60
61
62       The  cpu-partitioning-powersave  profile  is  configured by editing the
63       /etc/tuned/cpu-partitioning-powersave-variables.conf file. It  supports
64       the same options as the cpu-partitioning profile and one additional op‐
65       tion:
66
67
68       max_power_state=<MAX_CSTATE>
69              Maximum c-state the cores are allowed to enter. Can be expressed
70              as it's name (C1E) or minimum wake-up latency, in micro-seconds.
71              This parameter is provided as-is to `force_latency`.  Default is
72              set  to  "cstate.name:C1|10"  to behave as cpu-partitioning pro‐
73              file.
74
75

IMPORTANT NOTES

77       * The system should be rebooted after  applying  the  cpu-partitioning*
78         profiles for the first time or changing its configuration
79
80       * The  cpu-partitioning* profiles can be used in bare-metal and virtual
81         machines
82
83       * When using  the  cpu-partitioning*  profiles  in  bare-metal,  it  is
84         strongly  recommended to "mask" the ksm and ksmtuned services in sys‐
85         temd (if they are installed). This can be  done  with  the  following
86         command:
87
88             # systemctl mask ksm ksmtuned
89
90       * The cpu-partitioning* profiles do not use the kernel's isolcpus= fea‐
91         ture
92
93       * On a NUMA system, it is recommended to have at least one housekeeping
94         CPU per NUMA node
95
96       * The cpu-partitioning* profiles do not support isolating the L3 cache.
97         This means that a housekeeping CPU can  still  thrash  cache  entries
98         pertaining to isolated CPUs. It is recommended to use cache isolation
99         technologies to remedy this problem, such as Intel's Cache Allocation
100         Technology
101
102       * Whether  or not the kernel is going to be able to deactivate the tick
103         on isolated CPUs depend on  a  few  factors  concerning  the  running
104         thread  behavior.  Please, consult the nohz_full documentation in the
105         kernel to learn more
106
107       * The Linux real-time project has put together a document on  the  best
108         practices   for  writing  real-time  applications.  Even  though  the
109         cpu-partitioning* profiles do not guarantee real-time response  time,
110         much  of the techniques for writing real-time applications also apply
111         for applications intended to run  under  the  cpu-partitioning*  pro‐
112         files. Please, refer to this document at https://rt.wiki.kernel.org
113
114

FILES

116       /etc/tuned/cpu-partitioning-variables.conf
117       /etc/tuned/cpu-partitioning-powersave-variables.conf
118       /etc/tuned/tuned-main.conf
119
120

SEE ALSO

122       tuned(8)    tuned-adm(8)   tuned-profiles(7)   tuned-profiles-atomic(7)
123       tuned-profiles-sap(7)       tuned-profiles-sap-hana(7)       tuned-pro‐
124       files-mssql(7)    tuned-profiles-oracle(7)   tuned-profiles-realtime(7)
125       tuned-profiles-nfv-host(7)    tuned-profiles-nfv-guest(7)    tuned-pro‐
126       files-compat(7)    tuned-profiles-postgresql(7)    tuned-profiles-open‐
127       shift(7) tuned-profiles-spectrumscale-ece(7)
128

AUTHOR

130       Jaroslav Škarvada <jskarvad@redhat.com>
131       Luiz Capitulino <lcapitulino@redhat.com>
132       Andrew Theurer <atheurer@redhat.com>
133
134
135
136TuneD                             22 Feb 2018TUNED_PROFILES_CPU_PARTITIONING(7)
Impressum