Re: [PATCH v17 3/3] Documentation/filesystems/proc.txt: add arch_status file

2019-04-24 Thread Thomas Gleixner
On Mon, 22 Apr 2019, Aubrey Li wrote:
> +3.12 /proc//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

Examples are nice, but as this is architecture specific this section needs
to list the entries which are exposed by a particular architecture.

x86 specific entries:
-

  AVX512_elapsed_ms:
  --
 If AVX512 is supported 

Thanks,

tglx


[PATCH v17 3/3] Documentation/filesystems/proc.txt: add arch_status file

2019-04-21 Thread Aubrey Li
Added /proc//arch_status file, and added AVX512_elapsed_ms in
/proc//arch_status. Report it in Documentation/filesystems/proc.txt

Signed-off-by: Aubrey Li 
Cc: Thomas Gleixner 
Cc: Peter Zijlstra 
Cc: Andi Kleen 
Cc: Tim Chen 
Cc: Dave Hansen 
Cc: Arjan van de Ven 
Cc: Alexey Dobriyan 
Cc: Andrew Morton 
Cc: Andy Lutomirski 
Cc: Linux API 
---
 Documentation/filesystems/proc.txt | 37 ++
 1 file changed, 37 insertions(+)

diff --git a/Documentation/filesystems/proc.txt 
b/Documentation/filesystems/proc.txt
index 66cad5c86171..cf5114a8fb13 100644
--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -45,6 +45,7 @@ Table of Contents
   3.9   /proc//map_files - Information about memory mapped files
   3.10  /proc//timerslack_ns - Task timerslack value
   3.11 /proc//patch_state - Livepatch patch operation state
+  3.12 /proc//arch_status - Task architecture specific information
 
   4Configuring procfs
   4.1  Mount options
@@ -1948,6 +1949,42 @@ 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//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
+---
+
+ 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.
+
+  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
-- 
2.17.1