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 profile partitions the system CPUs  into  isolated
12       and  housekeeping  CPUs.  This  profile  is  intended  to  be  used for
13       latency-sensitive 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
23       directly, 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

CONFIGURATION

33       The   cpu-partitioning   profile   is   configured   by   editing   the
34       /etc/tuned/cpu-partitioning-variables.conf file. There are two configu‐
35       ration options:
36
37
38       isolated_cores=<CPU-LIST>
39              List of CPUs to isolate. This option is mandatory. Any CPUs  not
40              in this list is automatically considered a housekeeping CPU.
41
42       no_balance_cores=<CPU-LIST>
43              List  of  CPUs not be considered by the kernel when doing system
44              wide process load-balancing. Usually, this list  should  be  the
45              same as isolated_cores=. This option is optional.
46
47

IMPORTANT NOTES

49       * The  system  should  be  rebooted after applying the cpu-partitioning
50         profile for the first time or changing its configuration
51
52       * The cpu-partitioning profile can be used in  bare-metal  and  virtual
53         machines
54
55       * When using the cpu-partitioning profile in bare-metal, it is strongly
56         recommended to "mask" the ksm and ksmtuned services  in  systemd  (if
57         they are installed). This can be done with the following command:
58
59             # systemctl mask ksm ksmtuned
60
61       * The cpu-partitioning profile does not use the kernel's isolcpus= fea‐
62         ture
63
64       * On a NUMA system, it is recommended to have at least one housekeeping
65         CPU per NUMA node
66
67       * The cpu-partitioning profile does not support isolating the L3 cache.
68         This means that a housekeeping CPU can  still  thrash  cache  entries
69         pertaining to isolated CPUs. It is recommended to use cache isolation
70         technologies to remedy this problem, such as Intel's Cache Allocation
71         Technology
72
73       * Whether  or not the kernel is going to be able to deactivate the tick
74         on isolated CPUs depend on  a  few  factors  concerning  the  running
75         thread  behavior.  Please, consult the nohz_full documentation in the
76         kernel to learn more
77
78       * The Linux real-time project has put together a document on  the  best
79         practices   for  writing  real-time  applications.  Even  though  the
80         cpu-partitioning profile does not guarantee real-time response  time,
81         much  of the techniques for writing real-time applications also apply
82         for applications intended to run under the cpu-partitioning  profile.
83         Please, refer to this document at https://rt.wiki.kernel.org
84
85

FILES

87       /etc/tuned/cpu-partitioning-variables.conf
88       /etc/tuned/tuned-main.conf
89
90

SEE ALSO

92       tuned(8)   tuned-adm(8)   tuned-profiles(7)  tuned-profiles-realtime(7)
93       tuned-profiles-nfv-host(7) tuned-profiles-nfv-guest(7)
94

AUTHOR

96       Jaroslav Škarvada <jskarvad@redhat.com>
97       Luiz Capitulino <lcapitulino@redhat.com>
98       Andrew Theurer <atheurer@redhat.com>
99
100
101
102tuned                             22 Feb 2018TUNED_PROFILES_CPU_PARTITIONING(7)
Impressum