Linux 5.3 Lands Support For Tracking AVX-512 Usage

Going through several rounds of review over the past several months for better tracking of AVX-512 usage by user-space Linux programs, the support has now landed by means of the "x86/core" updates for Linux 5.3. This addition exposes an "AVX512_elapsed_ms" metric via "/proc/[pid]/arch_status" for exposing the last time a particular process made use of any AVX-512 instructions.
With current processors supporting AVX-512 generally leading to lower frequencies when running such instructions, this addition can allow for user-space task schedulers to place AVX-512 heavy tasks to particular core(s) and non-AVX-512 programs to the cores that should be operating at higher clock frequencies barring any thermal throttling or other issues.
This arch_status interface in the file could also be used for exposing other information beyond just the last time of AVX-512 usage.
So with this now honored pull request, the support is in order for Linux 5.3 should any user-space programs be interested in this information (primarily in the HPC space) for offering better task scheduling to particular cores.
4 Comments