cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

sched-debug.rst (2362B)


      1=================
      2Scheduler debugfs
      3=================
      4
      5Booting a kernel with CONFIG_SCHED_DEBUG=y will give access to
      6scheduler specific debug files under /sys/kernel/debug/sched. Some of
      7those files are described below.
      8
      9numa_balancing
     10==============
     11
     12`numa_balancing` directory is used to hold files to control NUMA
     13balancing feature.  If the system overhead from the feature is too
     14high then the rate the kernel samples for NUMA hinting faults may be
     15controlled by the `scan_period_min_ms, scan_delay_ms,
     16scan_period_max_ms, scan_size_mb` files.
     17
     18
     19scan_period_min_ms, scan_delay_ms, scan_period_max_ms, scan_size_mb
     20-------------------------------------------------------------------
     21
     22Automatic NUMA balancing scans tasks address space and unmaps pages to
     23detect if pages are properly placed or if the data should be migrated to a
     24memory node local to where the task is running.  Every "scan delay" the task
     25scans the next "scan size" number of pages in its address space. When the
     26end of the address space is reached the scanner restarts from the beginning.
     27
     28In combination, the "scan delay" and "scan size" determine the scan rate.
     29When "scan delay" decreases, the scan rate increases.  The scan delay and
     30hence the scan rate of every task is adaptive and depends on historical
     31behaviour. If pages are properly placed then the scan delay increases,
     32otherwise the scan delay decreases.  The "scan size" is not adaptive but
     33the higher the "scan size", the higher the scan rate.
     34
     35Higher scan rates incur higher system overhead as page faults must be
     36trapped and potentially data must be migrated. However, the higher the scan
     37rate, the more quickly a tasks memory is migrated to a local node if the
     38workload pattern changes and minimises performance impact due to remote
     39memory accesses. These files control the thresholds for scan delays and
     40the number of pages scanned.
     41
     42``scan_period_min_ms`` is the minimum time in milliseconds to scan a
     43tasks virtual memory. It effectively controls the maximum scanning
     44rate for each task.
     45
     46``scan_delay_ms`` is the starting "scan delay" used for a task when it
     47initially forks.
     48
     49``scan_period_max_ms`` is the maximum time in milliseconds to scan a
     50tasks virtual memory. It effectively controls the minimum scanning
     51rate for each task.
     52
     53``scan_size_mb`` is how many megabytes worth of pages are scanned for
     54a given scan.