The Linux Foundation Projects
Skip to main content

Discovering Linux kernel subsystems used by a workload

Written by Shuah Khan, Linux Fellow at the Linux Foundation and member of the ELISA Project TSC, and Shefali Sharma, a senior student at the Meerut Institute of Engineering and Technology in India and ELISA Project Mentee in 2022

Key Points

  • Understanding system resources necessary to build and run a workload is important.
  • Linux tracing and strace can be used to discover the system resources in use by a     

            workload. The completeness of the system usage information depends on the  

            completeness of coverage of a workload.

  • Performance and security of the operating system can be analyzed with the help of tools such as:
    •    `perf <https://man7.org/linux/man-pages/man1/perf.1.html>`_,
    •    `stress-ng <https://www.mankier.com/1/stress-ng>`_,
    •    `paxtest <https://github.com/opntr/paxtest-freebsd>`_.
  • Once we discover and understand the workload needs, we can focus on them to avoid regressions and use it to evaluate safety considerations.

We set out to identify methodology to discover system resources necessary to build and run workload and document the process. Easily available workloads are used to test out methodology and to document the process. This process is intended to be used as a guide on how to gather fine-grained information on the resources in use by workloads.

Within the ELISA project the methodology goes into scaling, by hardening and extending the guidelines in other working groups. The achievements from the Medical Devices Working Group will be taken and put into practice within the Automotive WG use case analysis focusing on safety critical display rendering.

The workload-tracing guide is now available in Linux 6.3 release. It is intended to be used as a guide on how to gather fine-grained information on the resources in use by workloads using strace.