Commit-ID: 711486fd18596315d42cebaac3dba8c408f60a3d Gitweb: https://git.kernel.org/tip/711486fd18596315d42cebaac3dba8c408f60a3d Author: Aubrey Li <aubrey.li@xxxxxxxxxxxxxxx> AuthorDate: Thu, 6 Jun 2019 09:22:36 +0800 Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx> CommitDate: Wed, 12 Jun 2019 11:42:13 +0200 Documentation/filesystems/proc.txt: Add arch_status file Add documentation for /proc/<pid>/arch_status file and the x86 specific AVX512_elapsed_ms entry in it. [ tglx: Massage changelog ] Signed-off-by: Aubrey Li <aubrey.li@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: akpm@xxxxxxxxxxxxxxxxxxxx Cc: peterz@xxxxxxxxxxxxx Cc: hpa@xxxxxxxxx Cc: ak@xxxxxxxxxxxxxxx Cc: tim.c.chen@xxxxxxxxxxxxxxx Cc: dave.hansen@xxxxxxxxx Cc: arjan@xxxxxxxxxxxxxxx Cc: adobriyan@xxxxxxxxx Cc: aubrey.li@xxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Alexey Dobriyan <adobriyan@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linux API <linux-api@xxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/20190606012236.9391-3-aubrey.li@xxxxxxxxxxxxxxx --- Documentation/filesystems/proc.txt | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index 66cad5c86171..a226061fa109 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt @@ -45,6 +45,7 @@ Table of Contents 3.9 /proc/<pid>/map_files - Information about memory mapped files 3.10 /proc/<pid>/timerslack_ns - Task timerslack value 3.11 /proc/<pid>/patch_state - Livepatch patch operation state + 3.12 /proc/<pid>/arch_status - Task architecture specific information 4 Configuring procfs 4.1 Mount options @@ -1948,6 +1949,45 @@ patched. If the patch is being enabled, then the task has already been patched. If the patch is being disabled, then the task hasn't been unpatched yet. +3.12 /proc/<pid>/arch_status - task architecture specific status +------------------------------------------------------------------- +When CONFIG_PROC_PID_ARCH_STATUS is enabled, this file displays the +architecture specific status of the task. + +Example +------- + $ cat /proc/6753/arch_status + AVX512_elapsed_ms: 8 + +Description +----------- + +x86 specific entries: +--------------------- + AVX512_elapsed_ms: + ------------------ + If AVX512 is supported on the machine, this entry shows the milliseconds + elapsed since the last time AVX512 usage was recorded. The recording + happens on a best effort basis when a task is scheduled out. This means + that the value depends on two factors: + + 1) The time which the task spent on the CPU without being scheduled + out. With CPU isolation and a single runnable task this can take + several seconds. + + 2) The time since the task was scheduled out last. Depending on the + reason for being scheduled out (time slice exhausted, syscall ...) + this can be arbitrary long time. + + As a consequence the value cannot be considered precise and authoritative + information. The application which uses this information has to be aware + of the overall scenario on the system in order to determine whether a + task is a real AVX512 user or not. Precise information can be obtained + with performance counters. + + A special value of '-1' indicates that no AVX512 usage was recorded, thus + the task is unlikely an AVX512 user, but depends on the workload and the + scheduling scenario, it also could be a false negative mentioned above. ------------------------------------------------------------------------------ Configuring procfs