Provided by: tuned_2.21.0-1ubuntu2_all bug

NAME

       tuned-profiles-cpu-partitioning - Partition CPUs into isolated and housekeeping.

DESCRIPTION

       The  cpu-partitioning*  profiles  partition  the  system  CPUs into isolated and housekeeping CPUs. These
       profiles are intended for latency-sensitive workloads.

       An isolated CPU incurs reduced jitter and reduced interruptions  by  the  kernel.  This  is  achieved  by
       clearing the CPU from user-space processes, movable kernel threads, interruption handlers, kernel timers,
       etc.  The  only  fixed source of interruptions is the 1Hz tick maintained by the kernel to keep CPU usage
       statistics. Otherwise, the incurred jitter and interruptions, if any, depend on the kernel services  used
       by  the thread running on the isolated CPU. Threads that run a busy loop without doing system calls, such
       as user-space drivers that access the hardware directly, are only  expected  to  be  interrupted  once  a
       second by the 1Hz tick.

       A  housekeeping  CPU  is  the  opposite  of  an  isolated  CPU.  Housekeeping CPUs run all daemons, shell
       processes, kernel threads, interruption handlers and work that can be dispatched from isolated CPUs  such
       as disk I/O, RCU work, timers, etc.

PROFILES

       The following profiles are provided:

       cpu-partitioning
              Profile partitioning the system CPUs into isolated and housekeeping CPUs.

       cpu-partitioning-powersave
              Profile  similar  to  the  cpu-partitioning  profile,  but  with  more flexibility on the C-states
              configuration.

CONFIGURATION

       The cpu-partitioning profile is  configured  by  editing  the  /etc/tuned/cpu-partitioning-variables.conf
       file. There are two configuration options:

       isolated_cores=<CPU-LIST>
              List  of  CPUs  to  isolate.  This option is mandatory. Any CPUs not in this list is automatically
              considered a housekeeping CPU.

       no_balance_cores=<CPU-LIST>
              List of CPUs not be considered by the  kernel  when  doing  system  wide  process  load-balancing.
              Usually, this list should be the same as isolated_cores=. This option is optional.

       The       cpu-partitioning-powersave       profile       is      configured      by      editing      the
       /etc/tuned/cpu-partitioning-powersave-variables.conf  file.  It  supports  the  same   options   as   the
       cpu-partitioning profile and one additional option:

       max_power_state=<MAX_CSTATE>
              Maximum  c-state  the  cores  are allowed to enter. Can be expressed as it's name (C1E) or minimum
              wake-up latency, in micro-seconds.  This parameter is provided as-is to `force_latency`.   Default
              is set to "cstate.name:C1|10" to behave as cpu-partitioning profile.

IMPORTANT NOTES

       * The  system  should  be  rebooted  after  applying the cpu-partitioning* profiles for the first time or
         changing its configuration

       * The cpu-partitioning* profiles can be used in bare-metal and virtual machines

       * When using the cpu-partitioning* profiles in bare-metal, it is strongly recommended to "mask"  the  ksm
         and ksmtuned services in systemd (if they are installed). This can be done with the following command:

             # systemctl mask ksm ksmtuned

       * The cpu-partitioning* profiles do not use the kernel's isolcpus= feature

       * On a NUMA system, it is recommended to have at least one housekeeping CPU per NUMA node

       * The  cpu-partitioning*  profiles  do not support isolating the L3 cache. This means that a housekeeping
         CPU can still thrash cache entries pertaining  to  isolated  CPUs.  It  is  recommended  to  use  cache
         isolation technologies to remedy this problem, such as Intel's Cache Allocation Technology

       * Whether  or  not the kernel is going to be able to deactivate the tick on isolated CPUs depend on a few
         factors concerning the running thread behavior.  Please, consult the  nohz_full  documentation  in  the
         kernel to learn more

       * The  Linux  real-time  project  has put together a document on the best practices for writing real-time
         applications. Even though the cpu-partitioning* profiles do not guarantee real-time response time, much
         of the techniques for writing real-time applications also apply for applications intended to run  under
         the cpu-partitioning* profiles. Please, refer to this document at https://rt.wiki.kernel.org

FILES

       /etc/tuned/cpu-partitioning-variables.conf
       /etc/tuned/cpu-partitioning-powersave-variables.conf
       /etc/tuned/tuned-main.conf

SEE ALSO

       tuned(8)      tuned-adm(8)      tuned-profiles(7)      tuned-profiles-atomic(7)     tuned-profiles-sap(7)
       tuned-profiles-sap-hana(7)  tuned-profiles-mssql(7)  tuned-profiles-oracle(7)  tuned-profiles-realtime(7)
       tuned-profiles-nfv-host(7)              tuned-profiles-nfv-guest(7)              tuned-profiles-compat(7)
       tuned-profiles-postgresql(7) tuned-profiles-openshift(7) tuned-profiles-spectrumscale-ece(7)

AUTHOR

       Jaroslav Škarvada <jskarvad@redhat.com>
       Luiz Capitulino <lcapitulino@redhat.com>
       Andrew Theurer <atheurer@redhat.com>

TuneD                                              22 Feb 2018                TUNED_PROFILES_CPU_PARTITIONING(7)