sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}(hhparenthuba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget0/translations/zh_CN/admin-guide/workload-tracingmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}(hhhh2ubah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget0/translations/zh_TW/admin-guide/workload-tracingmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}(hhhhFubah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget0/translations/it_IT/admin-guide/workload-tracingmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}(hhhhZubah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget0/translations/ja_JP/admin-guide/workload-tracingmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}(hhhhnubah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget0/translations/ko_KR/admin-guide/workload-tracingmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}(hhhhubah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget0/translations/sp_SP/admin-guide/workload-tracingmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h0SPDX-License-Identifier: (GPL-2.0+ OR CC-BY-4.0)h]h0SPDX-License-Identifier: (GPL-2.0+ OR CC-BY-4.0)}(hhhhubah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhJ/var/lib/git/docbuild/linux/Documentation/admin-guide/workload-tracing.rsthKubhsection)}(hhh](htitle)}(h6Discovering Linux kernel subsystems used by a workloadh]h6Discovering Linux kernel subsystems used by a workload}(hhhhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh field_list)}(hhh](hfield)}(hhh](h field_name)}(hAuthorsh]hAuthors}(hhhhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhKubh field_body)}(hQ- Shuah Khan - Shefali Sharma h]h bullet_list)}(hhh](h list_item)}(h&Shuah Khan h]h paragraph)}(hhh](h Shuah Khan <}(h Shuah Khan }(h>hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhubh)}(h&Shefali Sharma h]h)}(hj#h](hShefali Sharma <}(hShefali Sharma }(hjhj%hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj!ubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]bullet-uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h maintained-byh]h maintained-by}(hjfhjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjahhhKubh)}(h'Shuah Khan h]h)}(h&Shuah Khan h](h Shuah Khan <}(h Shuah Khan }(hjhjvhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hjrubah}(h]h ]h"]h$]h&]uh1hhjaubeh}(h]h ]h"]h$]h&]uh1hhhhK hhhhubeh}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Key Pointsh]h Key Points}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK ubh block_quote)}(hhh]h)}(hhh](h)}(hRUnderstanding system resources necessary to build and run a workload is important.h]h)}(hRUnderstanding system resources necessary to build and run a workload is important.h]hRUnderstanding system resources necessary to build and run a workload is important.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(hLinux 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.h]h)}(hLinux 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.h]hLinux 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.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(hXPerformance and security of the operating system can be analyzed with the help of tools such as: `perf `_, `stress-ng `_, `paxtest `_.h]h)}(hXPerformance and security of the operating system can be analyzed with the help of tools such as: `perf `_, `stress-ng `_, `paxtest `_.h](haPerformance and security of the operating system can be analyzed with the help of tools such as: }(haPerformance and security of the operating system can be analyzed with the help of tools such as: hjhhhNhNubh)}(h;`perf `_h]hperf}(hperfhjhhhNhNubah}(h]h ]h"]h$]h&]namej refuri1https://man7.org/linux/man-pages/man1/perf.1.htmluh1hhjubhtarget)}(h4 h]h}(h]perfah ]h"]perfah$]h&]refurijuh1j referencedKhjubh, }(h, hjhhhNhNubh)}(h2`stress-ng `_h]h stress-ng}(h stress-nghj(hhhNhNubah}(h]h ]h"]h$]h&]namej0j#https://www.mankier.com/1/stress-nguh1hhjubj)}(h& h]h}(h] stress-ngah ]h"] stress-ngah$]h&]refurij8uh1jj"Khjubh, }(hj'hjubh)}(h5`paxtest `_h]hpaxtest}(hpaxtesthjJhhhNhNubah}(h]h ]h"]h$]h&]namejRj(https://github.com/opntr/paxtest-freebsduh1hhjubj)}(h+ h]h}(h]paxtestah ]h"]paxtestah$]h&]refurijZuh1jj"Khjubh.}(h.hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(hOnce we discover and understand the workload needs, we can focus on them to avoid regressions and use it to evaluate safety considerations. h]h)}(hOnce we discover and understand the workload needs, we can focus on them to avoid regressions and use it to evaluate safety considerations.h]hOnce we discover and understand the workload needs, we can focus on them to avoid regressions and use it to evaluate safety considerations.}(hjhj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjyubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]jS*uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhNhNubeh}(h] key-pointsah ]h"] key pointsah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(h Methodologyh]h Methodology}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hXl`strace `_ is a diagnostic, instructional, and debugging tool and can be used to discover the system resources in use by a workload. Once we discover and understand the workload needs, we can focus on them to avoid regressions and use it to evaluate safety considerations. We use strace tool to trace workloads.h](h)}(h?`strace `_h]hstrace}(hstracehjhhhNhNubah}(h]h ]h"]h$]h&]namejj3https://man7.org/linux/man-pages/man1/strace.1.htmluh1hhjubj)}(h6 h]h}(h]straceah ]h"]straceah$]h&]refurijuh1jj"KhjubhX- is a diagnostic, instructional, and debugging tool and can be used to discover the system resources in use by a workload. Once we discover and understand the workload needs, we can focus on them to avoid regressions and use it to evaluate safety considerations. We use strace tool to trace workloads.}(hX- is a diagnostic, instructional, and debugging tool and can be used to discover the system resources in use by a workload. Once we discover and understand the workload needs, we can focus on them to avoid regressions and use it to evaluate safety considerations. We use strace tool to trace workloads.hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hXThis method of tracing using strace tells us the system calls invoked by the workload and doesn't include all the system calls that can be invoked by it. In addition, this tracing method tells us just the code paths within these system calls that are invoked. As an example, if a workload opens a file and reads from it successfully, then the success path is the one that is traced. Any error paths in that system call will not be traced. If there is a workload that provides full coverage of a workload then the method outlined here will trace and find all possible code paths. The completeness of the system usage information depends on the completeness of coverage of a workload.h]hXThis method of tracing using strace tells us the system calls invoked by the workload and doesn’t include all the system calls that can be invoked by it. In addition, this tracing method tells us just the code paths within these system calls that are invoked. As an example, if a workload opens a file and reads from it successfully, then the success path is the one that is traced. Any error paths in that system call will not be traced. If there is a workload that provides full coverage of a workload then the method outlined here will trace and find all possible code paths. The completeness of the system usage information depends on the completeness of coverage of a workload.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjhhubh)}(hmThe goal is tracing a workload on a system running a default kernel without requiring custom kernel installs.h]hmThe goal is tracing a workload on a system running a default kernel without requiring custom kernel installs.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjhhubeh}(h] methodologyah ]h"] methodologyah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h1How do we gather fine-grained system information?h]h1How do we gather fine-grained system information?}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK3ubh)}(hXstrace tool can be used to trace system calls made by a process and signals it receives. System calls are the fundamental interface between an application and the operating system kernel. They enable a program to request services from the kernel. For instance, the open() system call in Linux is used to provide access to a file in the file system. strace enables us to track all the system calls made by an application. It lists all the system calls made by a process and their resulting output.h]hXstrace tool can be used to trace system calls made by a process and signals it receives. System calls are the fundamental interface between an application and the operating system kernel. They enable a program to request services from the kernel. For instance, the open() system call in Linux is used to provide access to a file in the file system. strace enables us to track all the system calls made by an application. It lists all the system calls made by a process and their resulting output.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK5hjhhubh)}(hXyYou can generate profiling data combining strace and perf record tools to record the events and information associated with a process. This provides insight into the process. "perf annotate" tool generates the statistics of each instruction of the program. This document goes over the details of how to gather fine-grained information on a workload's usage of system resources.h]hXYou can generate profiling data combining strace and perf record tools to record the events and information associated with a process. This provides insight into the process. “perf annotate” tool generates the statistics of each instruction of the program. This document goes over the details of how to gather fine-grained information on a workload’s usage of system resources.}(hj)hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK=hjhhubh)}(hWe used strace to trace the perf, stress-ng, paxtest workloads to illustrate our methodology to discover resources used by a workload. This process can be applied to trace other workloads.h]hWe used strace to trace the perf, stress-ng, paxtest workloads to illustrate our methodology to discover resources used by a workload. This process can be applied to trace other workloads.}(hj7hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKChjhhubeh}(h]0how-do-we-gather-fine-grained-system-informationah ]h"]1how do we gather fine-grained system information?ah$]h&]uh1hhhhhhhhK3ubh)}(hhh](h)}(h$Getting the system ready for tracingh]h$Getting the system ready for tracing}(hjPhjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKhhhhhKHubh)}(hXBefore we can get started we will show you how to get your system ready. We assume that you have a Linux distribution running on a physical system or a virtual machine. Most distributions will include strace command. Let’s install other tools that aren’t usually included to build Linux kernel. Please note that the following works on Debian based distributions. You might have to find equivalent packages on other Linux distributions.h]hXBefore we can get started we will show you how to get your system ready. We assume that you have a Linux distribution running on a physical system or a virtual machine. Most distributions will include strace command. Let’s install other tools that aren’t usually included to build Linux kernel. Please note that the following works on Debian based distributions. You might have to find equivalent packages on other Linux distributions.}(hj^hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhjKhhubh)}(hInstall tools to build Linux kernel and tools in kernel repository. scripts/ver_linux is a good way to check if your system already has the necessary tools::h]hInstall tools to build Linux kernel and tools in kernel repository. scripts/ver_linux is a good way to check if your system already has the necessary tools:}(hInstall tools to build Linux kernel and tools in kernel repository. scripts/ver_linux is a good way to check if your system already has the necessary tools:hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhjKhhubh literal_block)}(hsudo apt-get build-essentials flex bison yacc sudo apt install libelf-dev systemtap-sdt-dev libaudit-dev libslang2-dev libperl-dev libdw-devh]hsudo apt-get build-essentials flex bison yacc sudo apt install libelf-dev systemtap-sdt-dev libaudit-dev libslang2-dev libperl-dev libdw-dev}(hhhj{ubah}(h]h ]h"]h$]h&]hhuh1jyhhhKUhjKhhubh)}(hFcscope is a good tool to browse kernel sources. Let's install it now::h]hGcscope is a good tool to browse kernel sources. Let’s install it now:}(hEcscope is a good tool to browse kernel sources. Let's install it now:hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjKhhubjz)}(hsudo apt-get install cscopeh]hsudo apt-get install cscope}(hhhjubah}(h]h ]h"]h$]h&]hhuh1jyhhhKZhjKhhubh)}(hInstall stress-ng and paxtest::h]hInstall stress-ng and paxtest:}(hInstall stress-ng and paxtest:hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hjKhhubjz)}(h1apt-get install stress-ng apt-get install paxtesth]h1apt-get install stress-ng apt-get install paxtest}(hhhjubah}(h]h ]h"]h$]h&]hhuh1jyhhhK^hjKhhubeh}(h]$getting-the-system-ready-for-tracingah ]h"]$getting the system ready for tracingah$]h&]uh1hhhhhhhhKHubh)}(hhh](h)}(hWorkload overviewh]hWorkload overview}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKbubh)}(hX+As mentioned earlier, we used strace to trace perf bench, stress-ng and paxtest workloads to show how to analyze a workload and identify Linux subsystems used by these workloads. Let's start with an overview of these three workloads to get a better understanding of what they do and how to use them.h]hX-As mentioned earlier, we used strace to trace perf bench, stress-ng and paxtest workloads to show how to analyze a workload and identify Linux subsystems used by these workloads. Let’s start with an overview of these three workloads to get a better understanding of what they do and how to use them.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKdhjhhubh)}(hhh](h)}(hperf bench (all) workloadh]hperf bench (all) workload}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKkubh)}(hXThe perf bench command contains multiple multi-threaded microkernel benchmarks for executing different subsystems in the Linux kernel and system calls. This allows us to easily measure the impact of changes, which can help mitigate performance regressions. It also acts as a common benchmarking framework, enabling developers to easily create test cases, integrate transparently, and use performance-rich tooling subsystems.h]hXThe perf bench command contains multiple multi-threaded microkernel benchmarks for executing different subsystems in the Linux kernel and system calls. This allows us to easily measure the impact of changes, which can help mitigate performance regressions. It also acts as a common benchmarking framework, enabling developers to easily create test cases, integrate transparently, and use performance-rich tooling subsystems.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKmhjhhubeh}(h]perf-bench-all-workloadah ]h"]perf bench (all) workloadah$]h&]uh1hhjhhhhhKkubh)}(hhh](h)}(h"Stress-ng netdev stressor workloadh]h"Stress-ng netdev stressor workload}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKuubh)}(hX|stress-ng is used for performing stress testing on the kernel. It allows you to exercise various physical subsystems of the computer, as well as interfaces of the OS kernel, using "stressor-s". They are available for CPU, CPU cache, devices, I/O, interrupts, file system, memory, network, operating system, pipelines, schedulers, and virtual machines. Please refer to the `stress-ng man-page `_ to find the description of all the available stressor-s. The netdev stressor starts specified number (N) of workers that exercise various netdevice ioctl commands across all the available network devices.h](hXxstress-ng is used for performing stress testing on the kernel. It allows you to exercise various physical subsystems of the computer, as well as interfaces of the OS kernel, using “stressor-s”. They are available for CPU, CPU cache, devices, I/O, interrupts, file system, memory, network, operating system, pipelines, schedulers, and virtual machines. Please refer to the }(hXtstress-ng is used for performing stress testing on the kernel. It allows you to exercise various physical subsystems of the computer, as well as interfaces of the OS kernel, using "stressor-s". They are available for CPU, CPU cache, devices, I/O, interrupts, file system, memory, network, operating system, pipelines, schedulers, and virtual machines. Please refer to the hj"hhhNhNubh)}(h;`stress-ng man-page `_h]hstress-ng man-page}(hstress-ng man-pagehj+hhhNhNubah}(h]h ]h"]h$]h&]namestress-ng man-pagej#https://www.mankier.com/1/stress-nguh1hhj"ubj)}(h& h]h}(h]stress-ng-man-pageah ]h"]stress-ng man-pageah$]h&]refurij<uh1jj"Khj"ubh to find the description of all the available stressor-s. The netdev stressor starts specified number (N) of workers that exercise various netdevice ioctl commands across all the available network devices.}(h to find the description of all the available stressor-s. The netdev stressor starts specified number (N) of workers that exercise various netdevice ioctl commands across all the available network devices.hj"hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKwhjhhubeh}(h]"stress-ng-netdev-stressor-workloadah ]h"]"stress-ng netdev stressor workloadah$]h&]uh1hhjhhhhhKuubh)}(hhh](h)}(hpaxtest kiddie workloadh]hpaxtest kiddie workload}(hjbhj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]hhhhhKubh)}(hXpaxtest is a program that tests buffer overflows in the kernel. It tests kernel enforcements over memory usage. Generally, execution in some memory segments makes buffer overflows possible. It runs a set of programs that attempt to subvert memory usage. It is used as a regression test suite for PaX, but might be useful to test other memory protection patches for the kernel. We used paxtest kiddie mode which looks for simple vulnerabilities.h]hXpaxtest is a program that tests buffer overflows in the kernel. It tests kernel enforcements over memory usage. Generally, execution in some memory segments makes buffer overflows possible. It runs a set of programs that attempt to subvert memory usage. It is used as a regression test suite for PaX, but might be useful to test other memory protection patches for the kernel. We used paxtest kiddie mode which looks for simple vulnerabilities.}(hjphjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj]hhubeh}(h]paxtest-kiddie-workloadah ]h"]paxtest kiddie workloadah$]h&]uh1hhjhhhhhKubeh}(h]workload-overviewah ]h"]workload overviewah$]h&]uh1hhhhhhhhKbubh)}(hhh](h)}(h$What is strace and how do we use it?h]h$What is strace and how do we use it?}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hAs mentioned earlier, strace which is a useful diagnostic, instructional, and debugging tool and can be used to discover the system resources in use by a workload. It can be used:h]hAs mentioned earlier, strace which is a useful diagnostic, instructional, and debugging tool and can be used to discover the system resources in use by a workload. It can be used:}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hhh]h)}(hhh](h)}(h/To see how a process interacts with the kernel.h]h)}(hjh]h/To see how a process interacts with the kernel.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(h+To see why a process is failing or hanging.h]h)}(hjh]h+To see why a process is failing or hanging.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(h"For reverse engineering a process.h]h)}(hjh]h"For reverse engineering a process.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(h-To find the files on which a program depends.h]h)}(hjh]h-To find the files on which a program depends.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(h0For analyzing the performance of an application.h]h)}(hjh]h0For analyzing the performance of an application.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1hhjubh)}(hFFor troubleshooting various problems related to the operating system. h]h)}(hEFor troubleshooting various problems related to the operating system.h]hEFor troubleshooting various problems related to the operating system.}(hj*hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]jSjuh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhNhNubh)}(hXbIn addition, strace can generate run-time statistics on times, calls, and errors for each system call and report a summary when program exits, suppressing the regular output. This attempts to show system time (CPU time spent running in the kernel) independent of wall clock time. We plan to use these features to get information on workload system usage.h]hXbIn addition, strace can generate run-time statistics on times, calls, and errors for each system call and report a summary when program exits, suppressing the regular output. This attempts to show system time (CPU time spent running in the kernel) independent of wall clock time. We plan to use these features to get information on workload system usage.}(hjJhjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hstrace command supports basic, verbose, and stats modes. strace command when run in verbose mode gives more detailed information about the system calls invoked by a process.h]hstrace command supports basic, verbose, and stats modes. strace command when run in verbose mode gives more detailed information about the system calls invoked by a process.}(hjXhjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hXRunning strace -c generates a report of the percentage of time spent in each system call, the total time in seconds, the microseconds per call, the total number of calls, the count of each system call that has failed with an error and the type of system call made.h]hXRunning strace -c generates a report of the percentage of time spent in each system call, the total time in seconds, the microseconds per call, the total number of calls, the count of each system call that has failed with an error and the type of system call made.}(hjfhjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hhh]h)}(hhh](h)}(h(Usage: strace h]h)}(hjzh]h(Usage: strace }(hjzhj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjxubah}(h]h ]h"]h$]h&]uh1hhjuubh)}(h'Verbose mode usage: strace -v h]h)}(hjh]h'Verbose mode usage: strace -v }(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjuubh)}(h'Gather statistics: strace -c h]h)}(h&Gather statistics: strace -c h]h&Gather statistics: strace -c }(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjuubeh}(h]h ]h"]h$]h&]jSjuh1hhhhKhjrubah}(h]h ]h"]h$]h&]uh1jhjhhhNhNubh)}(hWe used the “-c” option to gather fine-grained run-time statistics in use by three workloads we have chose for this analysis.h]hWe used the “-c” option to gather fine-grained run-time statistics in use by three workloads we have chose for this analysis.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hhh]h)}(hhh](h)}(hperfh]h)}(hjh]hperf}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(h stress-ngh]h)}(hjh]h stress-ng}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(hpaxtest h]h)}(hpaxtesth]hpaxtest}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]jSjuh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhNhNubeh}(h]#what-is-strace-and-how-do-we-use-itah ]h"]$what is strace and how do we use it?ah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h$What is cscope and how do we use it?h]h$What is cscope and how do we use it?}(hj=hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8hhhhhKubh)}(hXGNow let’s look at `cscope `_, a command line tool for browsing C, C++ or Java code-bases. We can use it to find all the references to a symbol, global definitions, functions called by a function, functions calling a function, text strings, regular expression patterns, files including a file.h](hNow let’s look at }(hNow let’s look at hjIhhhNhNubh)}(h+`cscope `_h]hcscope}(hcscopehjRhhhNhNubah}(h]h ]h"]h$]h&]namejZjhttps://cscope.sourceforge.net/uh1hhjIubj)}(h" h]h}(h]cscopeah ]h"]cscopeah$]h&]refurijbuh1jj"KhjIubhX, a command line tool for browsing C, C++ or Java code-bases. We can use it to find all the references to a symbol, global definitions, functions called by a function, functions calling a function, text strings, regular expression patterns, files including a file.}(hX, a command line tool for browsing C, C++ or Java code-bases. We can use it to find all the references to a symbol, global definitions, functions called by a function, functions calling a function, text strings, regular expression patterns, files including a file.hjIhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj8hhubh)}(hWe can use cscope to find which system call belongs to which subsystem. This way we can find the kernel subsystems used by a process when it is executed.h]hWe can use cscope to find which system call belongs to which subsystem. This way we can find the kernel subsystems used by a process when it is executed.}(hj}hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj8hhubh)}(hHLet’s checkout the latest Linux repository and build cscope database::h]hGLet’s checkout the latest Linux repository and build cscope database:}(hGLet’s checkout the latest Linux repository and build cscope database:hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj8hhubjz)}(hgit clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux cd linux cscope -R -p10 # builds cscope.out database before starting browse session cscope -d -p10 # starts browse session on cscope.out databaseh]hgit clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux cd linux cscope -R -p10 # builds cscope.out database before starting browse session cscope -d -p10 # starts browse session on cscope.out database}(hhhjubah}(h]h ]h"]h$]h&]hhuh1jyhhhKhj8hhubh)}(hX/Note: Run "cscope -R -p10" to build the database and c"scope -d -p10" to enter into the browsing session. cscope by default cscope.out database. To get out of this mode press ctrl+d. -p option is used to specify the number of file path components to display. -p10 is optimal for browsing kernel sources.h]hX7Note: Run “cscope -R -p10” to build the database and c”scope -d -p10” to enter into the browsing session. cscope by default cscope.out database. To get out of this mode press ctrl+d. -p option is used to specify the number of file path components to display. -p10 is optimal for browsing kernel sources.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj8hhubeh}(h]#what-is-cscope-and-how-do-we-use-itah ]h"]$what is cscope and how do we use it?ah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h"What is perf and how do we use it?h]h"What is perf and how do we use it?}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hXYPerf is an analysis tool based on Linux 2.6+ systems, which abstracts the CPU hardware difference in performance measurement in Linux, and provides a simple command line interface. Perf is based on the perf_events interface exported by the kernel. It is very useful for profiling the system and finding performance bottlenecks in an application.h]hXYPerf is an analysis tool based on Linux 2.6+ systems, which abstracts the CPU hardware difference in performance measurement in Linux, and provides a simple command line interface. Perf is based on the perf_events interface exported by the kernel. It is very useful for profiling the system and finding performance bottlenecks in an application.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(huIf you haven't already checked out the Linux mainline repository, you can do so and then build kernel and perf tool::h]hvIf you haven’t already checked out the Linux mainline repository, you can do so and then build kernel and perf tool:}(htIf you haven't already checked out the Linux mainline repository, you can do so and then build kernel and perf tool:hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubjz)}(hygit clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux cd linux make -j3 all cd tools/perf makeh]hygit clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux cd linux make -j3 all cd tools/perf make}(hhhjubah}(h]h ]h"]h$]h&]hhuh1jyhhhKhjhhubh)}(hNote: The perf command can be built without building the kernel in the repository and can be run on older kernels. However matching the kernel and perf revisions gives more accurate information on the subsystem usage.h]hNote: The perf command can be built without building the kernel in the repository and can be run on older kernels. However matching the kernel and perf revisions gives more accurate information on the subsystem usage.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hiWe used "perf stat" and "perf bench" options. For a detailed information on the perf tool, run "perf -h".h]huWe used “perf stat” and “perf bench” options. For a detailed information on the perf tool, run “perf -h”.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hhh](h)}(h perf stath]h perf stat}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hThe perf stat command generates a report of various hardware and software events. It does so with the help of hardware counter registers found in modern CPUs that keep the count of these activities. "perf stat cal" shows stats for cal command.h]hThe perf stat command generates a report of various hardware and software events. It does so with the help of hardware counter registers found in modern CPUs that keep the count of these activities. “perf stat cal” shows stats for cal command.}(hj'hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h] perf-statah ]h"] perf statah$]h&]uh1hhjhhhhhKubh)}(hhh](h)}(h Perf benchh]h Perf bench}(hj@hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;hhhhhKubh)}(hXThe perf bench command contains multiple multi-threaded microkernel benchmarks for executing different subsystems in the Linux kernel and system calls. This allows us to easily measure the impact of changes, which can help mitigate performance regressions. It also acts as a common benchmarking framework, enabling developers to easily create test cases, integrate transparently, and use performance-rich tooling.h]hXThe perf bench command contains multiple multi-threaded microkernel benchmarks for executing different subsystems in the Linux kernel and system calls. This allows us to easily measure the impact of changes, which can help mitigate performance regressions. It also acts as a common benchmarking framework, enabling developers to easily create test cases, integrate transparently, and use performance-rich tooling.}(hjNhjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj;hhubh)}(h7"perf bench all" command runs the following benchmarks:h]h;“perf bench all” command runs the following benchmarks:}(hj\hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj;hhubj)}(hhh]h)}(hhh](h)}(hsched/messagingh]h)}(hjph]hsched/messaging}(hjphjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjnubah}(h]h ]h"]h$]h&]uh1hhjkubh)}(h sched/pipeh]h)}(hjh]h sched/pipe}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjkubh)}(h syscall/basich]h)}(hjh]h syscall/basic}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjkubh)}(h mem/memcpyh]h)}(hjh]h mem/memcpy}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjkubh)}(h mem/memset h]h)}(h mem/memseth]h mem/memset}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjkubeh}(h]h ]h"]h$]h&]jSjuh1hhhhKhjhubah}(h]h ]h"]h$]h&]uh1jhj;hhhNhNubeh}(h] perf-benchah ]h"] perf benchah$]h&]uh1hhjhhhhhKubeh}(h]!what-is-perf-and-how-do-we-use-itah ]h"]"what is perf and how do we use it?ah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h'What is stress-ng and how do we use it?h]h'What is stress-ng and how do we use it?}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hXsAs mentioned earlier, stress-ng is used for performing stress testing on the kernel. It allows you to exercise various physical subsystems of the computer, as well as interfaces of the OS kernel, using stressor-s. They are available for CPU, CPU cache, devices, I/O, interrupts, file system, memory, network, operating system, pipelines, schedulers, and virtual machines.h]hXsAs mentioned earlier, stress-ng is used for performing stress testing on the kernel. It allows you to exercise various physical subsystems of the computer, as well as interfaces of the OS kernel, using stressor-s. They are available for CPU, CPU cache, devices, I/O, interrupts, file system, memory, network, operating system, pipelines, schedulers, and virtual machines.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hThe netdev stressor starts N workers that exercise various netdevice ioctl commands across all the available network devices. The following ioctls are exercised:h]hThe netdev stressor starts N workers that exercise various netdevice ioctl commands across all the available network devices. The following ioctls are exercised:}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hhh]h)}(hhh](h)}(h4SIOCGIFCONF, SIOCGIFINDEX, SIOCGIFNAME, SIOCGIFFLAGSh]h)}(hj3h]h4SIOCGIFCONF, SIOCGIFINDEX, SIOCGIFNAME, SIOCGIFFLAGS}(hj3hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj1ubah}(h]h ]h"]h$]h&]uh1hhj.ubh)}(h6SIOCGIFADDR, SIOCGIFNETMASK, SIOCGIFMETRIC, SIOCGIFMTUh]h)}(hjJh]h6SIOCGIFADDR, SIOCGIFNETMASK, SIOCGIFMETRIC, SIOCGIFMTU}(hjJhjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjHubah}(h]h ]h"]h$]h&]uh1hhj.ubh)}(h)SIOCGIFHWADDR, SIOCGIFMAP, SIOCGIFTXQLEN h]h)}(h(SIOCGIFHWADDR, SIOCGIFMAP, SIOCGIFTXQLENh]h(SIOCGIFHWADDR, SIOCGIFMAP, SIOCGIFTXQLEN}(hjehjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj_ubah}(h]h ]h"]h$]h&]uh1hhj.ubeh}(h]h ]h"]h$]h&]jSjuh1hhhhM hj+ubah}(h]h ]h"]h$]h&]uh1jhjhhhNhNubh)}(h)The following command runs the stressor::h]h(The following command runs the stressor:}(h(The following command runs the stressor:hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubjz)}(h-stress-ng --netdev 1 -t 60 --metrics command.h]h-stress-ng --netdev 1 -t 60 --metrics command.}(hhhjubah}(h]h ]h"]h$]h&]hhuh1jyhhhMhjhhubh)}(hWe can use the perf record command to record the events and information associated with a process. This command records the profiling data in the perf.data file in the same directory.h]hWe can use the perf record command to record the events and information associated with a process. This command records the profiling data in the perf.data file in the same directory.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hUsing the following commands you can record the events associated with the netdev stressor, view the generated report perf.data and annotate the to view the statistics of each instruction of the program::h]hUsing the following commands you can record the events associated with the netdev stressor, view the generated report perf.data and annotate the to view the statistics of each instruction of the program:}(hUsing the following commands you can record the events associated with the netdev stressor, view the generated report perf.data and annotate the to view the statistics of each instruction of the program:hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubjz)}(hSperf record stress-ng --netdev 1 -t 60 --metrics command. perf report perf annotateh]hSperf record stress-ng --netdev 1 -t 60 --metrics command. perf report perf annotate}(hhhjubah}(h]h ]h"]h$]h&]hhuh1jyhhhMhjhhubeh}(h]&what-is-stress-ng-and-how-do-we-use-itah ]h"]'what is stress-ng and how do we use it?ah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h%What is paxtest and how do we use it?h]h%What is paxtest and how do we use it?}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhM!ubh)}(hXwpaxtest is a program that tests buffer overflows in the kernel. It tests kernel enforcements over memory usage. Generally, execution in some memory segments makes buffer overflows possible. It runs a set of programs that attempt to subvert memory usage. It is used as a regression test suite for PaX, and will be useful to test other memory protection patches for the kernel.h]hXwpaxtest is a program that tests buffer overflows in the kernel. It tests kernel enforcements over memory usage. Generally, execution in some memory segments makes buffer overflows possible. It runs a set of programs that attempt to subvert memory usage. It is used as a regression test suite for PaX, and will be useful to test other memory protection patches for the kernel.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hjhhubh)}(hXpaxtest provides kiddie and blackhat modes. The paxtest kiddie mode runs in normal mode, whereas the blackhat mode tries to get around the protection of the kernel testing for vulnerabilities. We focus on the kiddie mode here and combine "paxtest kiddie" run with "perf record" to collect CPU stack traces for the paxtest kiddie run to see which function is calling other functions in the performance profile. Then the "dwarf" (DWARF's Call Frame Information) mode can be used to unwind the stack.h]hXpaxtest provides kiddie and blackhat modes. The paxtest kiddie mode runs in normal mode, whereas the blackhat mode tries to get around the protection of the kernel testing for vulnerabilities. We focus on the kiddie mode here and combine “paxtest kiddie” run with “perf record” to collect CPU stack traces for the paxtest kiddie run to see which function is calling other functions in the performance profile. Then the “dwarf” (DWARF’s Call Frame Information) mode can be used to unwind the stack.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hjhhubh)}(hQThe following command can be used to view resulting report in call-graph format::h]hPThe following command can be used to view resulting report in call-graph format:}(hPThe following command can be used to view resulting report in call-graph format:hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hjhhubjz)}(hAperf record --call-graph dwarf paxtest kiddie perf report --stdioh]hAperf record --call-graph dwarf paxtest kiddie perf report --stdio}(hhhj ubah}(h]h ]h"]h$]h&]hhuh1jyhhhM5hjhhubeh}(h]$what-is-paxtest-and-how-do-we-use-itah ]h"]%what is paxtest and how do we use it?ah$]h&]uh1hhhhhhhhM!ubh)}(hhh](h)}(hTracing workloadsh]hTracing workloads}(hj* hj( hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj% hhhhhM9ubh)}(h?Now that we understand the workloads, let's start tracing them.h]hANow that we understand the workloads, let’s start tracing them.}(hj8 hj6 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM;hj% hhubh)}(hhh](h)}(hTracing perf bench all workloadh]hTracing perf bench all workload}(hjI hjG hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjD hhhhhM>ubh)}(h hj< hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj9 ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h sys_getuid()h]h sys_getuid()}(hjU hjS hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhjP ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hgetgidh]hgetgid}(hju hjs hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hjp ubah}(h]h ]h"]h$]h&]uh1j hjm ubj )}(hhh]h)}(hj h]h1}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hj ubah}(h]h ]h"]h$]h&]uh1j hjm ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hj ubah}(h]h ]h"]h$]h&]uh1j hjm ubj )}(hhh]h)}(h sys_getgid()h]h sys_getgid()}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hj ubah}(h]h ]h"]h$]h&]uh1j hjm ubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hgeteuidh]hgeteuid}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hj h]h1}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h sys_geteuid()h]h sys_geteuid()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hgetegidh]hgetegid}(hj=hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj8ubah}(h]h ]h"]h$]h&]uh1j hj5ubj )}(hhh]h)}(hj h]h1}(hj hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hjOubah}(h]h ]h"]h$]h&]uh1j hj5ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hjjhjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hjeubah}(h]h ]h"]h$]h&]uh1j hj5ubj )}(hhh]h)}(h sys_getegidh]h sys_getegid}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj|ubah}(h]h ]h"]h$]h&]uh1j hj5ubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hcloseh]hclose}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h49951h]h49951}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_close()h]h sys_close()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hpipeh]hpipe}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h604h]h604}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hj4hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhj/ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_pipe()h]h sys_pipe()}(hjKhjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjFubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hopenath]hopenat}(hjkhjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjfubah}(h]h ]h"]h$]h&]uh1j hjcubj )}(hhh]h)}(h48560h]h48560}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhj}ubah}(h]h ]h"]h$]h&]uh1j hjcubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjubah}(h]h ]h"]h$]h&]uh1j hjcubj )}(hhh]h)}(h sys_opennat()h]h sys_opennat()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjubah}(h]h ]h"]h$]h&]uh1j hjcubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hfstath]hfstat}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h8338h]h8338}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_fstat()h]h sys_fstat()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hstath]hstat}(hj5hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhj0ubah}(h]h ]h"]h$]h&]uh1j hj-ubj )}(hhh]h)}(h1573h]h1573}(hjLhjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjGubah}(h]h ]h"]h$]h&]uh1j hj-ubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjchjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhj^ubah}(h]h ]h"]h$]h&]uh1j hj-ubj )}(hhh]h)}(h sys_stat()h]h sys_stat()}(hjzhjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjuubah}(h]h ]h"]h$]h&]uh1j hj-ubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hpread64h]hpread64}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h9646h]h9646}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_pread64()h]h sys_pread64()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(h getdents64h]h getdents64}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h1873h]h1873}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hj-hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhj(ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hsys_getdents64()h]hsys_getdents64()}(hjDhjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhj?ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(haccessh]haccess}(hjdhjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphj_ubah}(h]h ]h"]h$]h&]uh1j hj\ubj )}(hhh]h)}(hj^ h]h3}(hj^ hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjvubah}(h]h ]h"]h$]h&]uh1j hj\ubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjubah}(h]h ]h"]h$]h&]uh1j hj\ubj )}(hhh]h)}(h sys_access()h]h sys_access()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjubah}(h]h ]h"]h$]h&]uh1j hj\ubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hlstath]hlstat}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h1880h]h1880}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_lstat()h]h sys_lstat()}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hlseekh]hlseek}(hj-hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthj(ubah}(h]h ]h"]h$]h&]uh1j hj%ubj )}(hhh]h)}(h6h]h6}(hjDhjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthj?ubah}(h]h ]h"]h$]h&]uh1j hj%ubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hj[hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjVubah}(h]h ]h"]h$]h&]uh1j hj%ubj )}(hhh]h)}(h sys_lseek()h]h sys_lseek()}(hjrhjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjmubah}(h]h ]h"]h$]h&]uh1j hj%ubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hioctlh]hioctl}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj^ h]h3}(hj^ hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_ioctl()h]h sys_ioctl()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hdup2h]hdup2}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj h]h1}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hj#hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_dup2()h]h sys_dup2()}(hj:hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhj5ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hexecveh]hexecve}(hjZhjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhjUubah}(h]h ]h"]h$]h&]uh1j hjRubj )}(hhh]h)}(h2h]h2}(hjqhjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhjlubah}(h]h ]h"]h$]h&]uh1j hjRubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhjubah}(h]h ]h"]h$]h&]uh1j hjRubj )}(hhh]h)}(h sys_execve()h]h sys_execve()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhjubah}(h]h ]h"]h$]h&]uh1j hjRubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hfcntlh]hfcntl}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h8779h]h8779}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_fcntl()h]h sys_fcntl()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hstatfsh]hstatfs}(hj$hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj h]h1}(hj hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hj6ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjQhjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hjLubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_statfs()h]h sys_statfs()}(hjhhjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hjcubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(h epoll_createh]h epoll_create}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjqh]h2}(hjqhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hsys_epoll_create()h]hsys_epoll_create()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(h epoll_ctlh]h epoll_ctl}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h64h]h64}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hsys_epoll_ctl()h]hsys_epoll_ctl()}(hj1hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(h newfstatath]h newfstatat}(hjQhjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1j hjIubj )}(hhh]h)}(h8318h]h8318}(hjhhjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1j hjIubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjhj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjzubah}(h]h ]h"]h$]h&]uh1j hjIubj )}(hhh]h)}(hsys_newfstatat()h]hsys_newfstatat()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjIubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(heventfd2h]heventfd2}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h192h]h192}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hsys_eventfd2()h]hsys_eventfd2()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hmmaph]hmmap}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h243h]h243}(hj2hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Memory Mgmt.h]h Memory Mgmt.}(hjIhjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjDubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_mmap()h]h sys_mmap()}(hj`hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj[ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hmprotecth]hmprotect}(hjhj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj{ubah}(h]h ]h"]h$]h&]uh1j hjxubj )}(hhh]h)}(h32h]h32}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjxubj )}(hhh]h)}(h Memory Mgmt.h]h Memory Mgmt.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjxubj )}(hhh]h)}(hsys_mprotect()h]hsys_mprotect()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjxubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hbrkh]hbrk}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h21h]h21}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Memory Mgmt.h]h Memory Mgmt.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_brk()h]h sys_brk()}(hj*hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hmunmaph]hmunmap}(hjJhjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEubah}(h]h ]h"]h$]h&]uh1j hjBubj )}(hhh]h)}(h128h]h128}(hjahj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj\ubah}(h]h ]h"]h$]h&]uh1j hjBubj )}(hhh]h)}(h Memory Mgmt.h]h Memory Mgmt.}(hjxhjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1j hjBubj )}(hhh]h)}(h sys_munmap()h]h sys_munmap()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjBubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(h set_mempolicyh]h set_mempolicy}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h156h]h156}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Memory Mgmt.h]h Memory Mgmt.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hsys_set_mempolicy()h]hsys_set_mempolicy()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hset_tid_addressh]hset_tid_address}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hj h]h1}(hj hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hjAhj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hsys_set_tid_address()h]hsys_set_tid_address()}(hjXhjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hset_robust_listh]hset_robust_list}(hjxhjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1j hjpubj )}(hhh]h)}(hj h]h1}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjpubj )}(hhh]h)}(hFutexh]hFutex}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjpubj )}(hhh]h)}(hsys_set_robust_list()h]hsys_set_robust_list()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjpubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hfutexh]hfutex}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h341h]h341}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hFutexh]hFutex}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_futex()h]h sys_futex()}(hj!hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hsched_getaffinityh]hsched_getaffinity}(hjAhj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1j hj9ubj )}(hhh]h)}(h79h]h79}(hjXhjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1j hj9ubj )}(hhh]h)}(h Schedulerh]h Scheduler}(hjohjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjjubah}(h]h ]h"]h$]h&]uh1j hj9ubj )}(hhh]h)}(hsys_sched_getaffinity()h]hsys_sched_getaffinity()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hj9ubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hsched_setaffinityh]hsched_setaffinity}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h223h]h223}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Schedulerh]h Scheduler}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hsys_sched_setaffinity()h]hsys_sched_setaffinity()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(h socketpairh]h socketpair}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h202h]h202}(hj"hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hNetworkh]hNetwork}(hj9hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hsys_socketpair()h]hsys_socketpair()}(hjPhjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hrt_sigprocmaskh]hrt_sigprocmask}(hjphjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkubah}(h]h ]h"]h$]h&]uh1j hjhubj )}(hhh]h)}(h21h]h21}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjhubj )}(hhh]h)}(hSignalh]hSignal}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjhubj )}(hhh]h)}(hsys_rt_sigprocmask()h]hsys_rt_sigprocmask()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjhubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(h rt_sigactionh]h rt_sigaction}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h36h]h36}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hSignalh]hSignal}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hsys_rt_sigaction()h]hsys_rt_sigaction()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(h rt_sigreturnh]h rt_sigreturn}(hj:hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1j hj2ubj )}(hhh]h)}(hjqh]h2}(hjqhjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1j hj2ubj )}(hhh]h)}(hSignalh]hSignal}(hjghjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1j hj2ubj )}(hhh]h)}(hsys_rt_sigreturn()h]hsys_rt_sigreturn()}(hj~hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjyubah}(h]h ]h"]h$]h&]uh1j hj2ubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hwait4h]hwait4}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h889h]h889}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hTimeh]hTime}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_wait4()h]h sys_wait4()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hclock_nanosleeph]hclock_nanosleep}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h37h]h37}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hTimeh]hTime}(hj1hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hsys_clock_nanosleep()h]hsys_clock_nanosleep()}(hjHhjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjC ubj )}(hhh](j )}(hhh]h)}(hcapgeth]hcapget}(hjhhjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1j hj`ubj )}(hhh]h)}(h4h]h4}(hjhj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjzubah}(h]h ]h"]h$]h&]uh1j hj`ubj )}(hhh]h)}(h Capabilityh]h Capability}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hj`ubj )}(hhh]h)}(h sys_capget()h]h sys_capget()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hj`ubeh}(h]h ]h"]h$]h&]uh1j hjC ubeh}(h]h ]h"]h$]h&]uh1jA hj ubeh}(h]h ]h"]h$]h&]colsKuh1j hj ubah}(h]h ]h"]h$]h&]uh1j hjD hhhhhNubeh}(h]tracing-perf-bench-all-workloadah ]h"]tracing perf bench all workloadah$]h&]uh1hhj% hhhhhM>ubh)}(hhh](h)}(h*Tracing stress-ng netdev stressor workloadh]h*Tracing stress-ng netdev stressor workload}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hGRun the following command to trace stress-ng netdev stressor workload::h]hFRun the following command to trace stress-ng netdev stressor workload:}(hFRun the following command to trace stress-ng netdev stressor workload:hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubjz)}(h/strace -c stress-ng --netdev 1 -t 60 --metricsh]h/strace -c stress-ng --netdev 1 -t 60 --metrics}(hhhjubah}(h]h ]h"]h$]h&]hhuh1jyhhhMhjhhubh)}(h%**System Calls made by the workload**h]jw )}(hjh]h!System Calls made by the workload}(hhhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jv hjubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hThe below table shows the system calls invoked by the workload, number of times each system call is invoked, and the corresponding Linux subsystem.h]hThe below table shows the system calls invoked by the workload, number of times each system call is invoked, and the corresponding Linux subsystem.}(hj'hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj )}(hhh]j )}(hhh](j )}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj6ubj )}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j hj6ubj )}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj6ubj )}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj6ubj )}(hhh]j )}(hhh](j )}(hhh]h)}(h System Callh]h System Call}(hjlhjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1j hjdubj )}(hhh]h)}(h# callsh]h# calls}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj~ubah}(h]h ]h"]h$]h&]uh1j hjdubj )}(hhh]h)}(hLinux Subsystemh]hLinux Subsystem}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjdubj )}(hhh]h)}(hSystem Call (API)h]hSystem Call (API)}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjdubeh}(h]h ]h"]h$]h&]uh1j hjaubah}(h]h ]h"]h$]h&]uh1j hj6ubjB )}(hhh](j )}(hhh](j )}(hhh]h)}(hopenath]hopenat}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h74h]h74}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_openat()h]h sys_openat()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hcloseh]hclose}(hj?hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1j hj7ubj )}(hhh]h)}(h75h]h75}(hjVhjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1j hj7ubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjmhjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1j hj7ubj )}(hhh]h)}(h sys_close()h]h sys_close()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hj7ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hreadh]hread}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h58h]h58}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_read()h]h sys_read()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hfstath]hfstat}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h20h]h20}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hj7hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_fstat()h]h sys_fstat()}(hjNhjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hflockh]hflock}(hjnhjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1j hjfubj )}(hhh]h)}(h10h]h10}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjfubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjfubj )}(hhh]h)}(h sys_flock()h]h sys_flock()}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjfubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hwriteh]hwrite}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj h]h7}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h sys_write()h]h sys_write()}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(h getdents64h]h getdents64}(hj7 hj5 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2 ubah}(h]h ]h"]h$]h&]uh1j hj/ ubj )}(hhh]h)}(h8h]h8}(hjN hjL hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjI ubah}(h]h ]h"]h$]h&]uh1j hj/ ubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hje hjc hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj` ubah}(h]h ]h"]h$]h&]uh1j hj/ ubj )}(hhh]h)}(hsys_getdents64()h]hsys_getdents64()}(hj| hjz hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjw ubah}(h]h ]h"]h$]h&]uh1j hj/ ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hpread64h]hpread64}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hjN h]h8}(hjN hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h sys_pread64()h]h sys_pread64()}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hlseekh]hlseek}(hj!hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hj h]h1}(hj hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hj-!hj+!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(!ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h sys_lseek()h]h sys_lseek()}(hjD!hjB!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj?!ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(haccessh]haccess}(hjd!hjb!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj_!ubah}(h]h ]h"]h$]h&]uh1j hj\!ubj )}(hhh]h)}(hjqh]h2}(hjqhjy!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjv!ubah}(h]h ]h"]h$]h&]uh1j hj\!ubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hj!hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1j hj\!ubj )}(hhh]h)}(h sys_access()h]h sys_access()}(hj!hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1j hj\!ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hgetcwdh]hgetcwd}(hj!hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1j hj!ubj )}(hhh]h)}(hj h]h1}(hj hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1j hj!ubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hj!hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1j hj!ubj )}(hhh]h)}(h sys_getcwd()h]h sys_getcwd()}(hj "hj "hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hj!ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hexecveh]hexecve}(hj,"hj*"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'"ubah}(h]h ]h"]h$]h&]uh1j hj$"ubj )}(hhh]h)}(hj h]h1}(hj hjA"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>"ubah}(h]h ]h"]h$]h&]uh1j hj$"ubj )}(hhh]h)}(h Filesystemh]h Filesystem}(hjY"hjW"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjT"ubah}(h]h ]h"]h$]h&]uh1j hj$"ubj )}(hhh]h)}(h sys_execve()h]h sys_execve()}(hjp"hjn"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjk"ubah}(h]h ]h"]h$]h&]uh1j hj$"ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hmmaph]hmmap}(hj"hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(h61h]h61}(hj"hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(h Memory Mgmt.h]h Memory Mgmt.}(hj"hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(h sys_mmap()h]h sys_mmap()}(hj"hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hj"ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hmunmaph]hmunmap}(hj"hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(hj^ h]h3}(hj^ hj #hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(h Memory Mgmt.h]h Memory Mgmt.}(hj"#hj #hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(h sys_munmap()h]h sys_munmap()}(hj9#hj7#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4#ubah}(h]h ]h"]h$]h&]uh1j hj"ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hmprotecth]hmprotect}(hjY#hjW#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjT#ubah}(h]h ]h"]h$]h&]uh1j hjQ#ubj )}(hhh]h)}(h20h]h20}(hjp#hjn#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjk#ubah}(h]h ]h"]h$]h&]uh1j hjQ#ubj )}(hhh]h)}(h Memory Mgmt.h]h Memory Mgmt.}(hj#hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1j hjQ#ubj )}(hhh]h)}(hsys_mprotect()h]hsys_mprotect()}(hj#hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1j hjQ#ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hmlockh]hmlock}(hj#hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1j hj#ubj )}(hhh]h)}(hjqh]h2}(hjqhj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1j hj#ubj )}(hhh]h)}(h Memory Mgmt.h]h Memory Mgmt.}(hj#hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1j hj#ubj )}(hhh]h)}(h sys_mlock()h]h sys_mlock()}(hj$hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1j hj#ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hbrkh]hbrk}(hj"$hj $hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj$ubah}(h]h ]h"]h$]h&]uh1j hj$ubj )}(hhh]h)}(hj^ h]h3}(hj^ hj7$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4$ubah}(h]h ]h"]h$]h&]uh1j hj$ubj )}(hhh]h)}(h Memory Mgmt.h]h Memory Mgmt.}(hjO$hjM$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJ$ubah}(h]h ]h"]h$]h&]uh1j hj$ubj )}(hhh]h)}(h sys_brk()h]h sys_brk()}(hjf$hjd$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhja$ubah}(h]h ]h"]h$]h&]uh1j hj$ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(h rt_sigactionh]h rt_sigaction}(hj$hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj$ubah}(h]h ]h"]h$]h&]uh1j hj~$ubj )}(hhh]h)}(h21h]h21}(hj$hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj$ubah}(h]h ]h"]h$]h&]uh1j hj~$ubj )}(hhh]h)}(hSignalh]hSignal}(hj$hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj$ubah}(h]h ]h"]h$]h&]uh1j hj~$ubj )}(hhh]h)}(hsys_rt_sigaction()h]hsys_rt_sigaction()}(hj$hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj$ubah}(h]h ]h"]h$]h&]uh1j hj~$ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hrt_sigprocmaskh]hrt_sigprocmask}(hj$hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj$ubah}(h]h ]h"]h$]h&]uh1j hj$ubj )}(hhh]h)}(hj h]h1}(hj hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj$ubah}(h]h ]h"]h$]h&]uh1j hj$ubj )}(hhh]h)}(hSignalh]hSignal}(hj%hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%ubah}(h]h ]h"]h$]h&]uh1j hj$ubj )}(hhh]h)}(hsys_rt_sigprocmask()h]hsys_rt_sigprocmask()}(hj/%hj-%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj*%ubah}(h]h ]h"]h$]h&]uh1j hj$ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(h sigaltstackh]h sigaltstack}(hjO%hjM%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJ%ubah}(h]h ]h"]h$]h&]uh1j hjG%ubj )}(hhh]h)}(hj h]h1}(hj hjd%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhja%ubah}(h]h ]h"]h$]h&]uh1j hjG%ubj )}(hhh]h)}(hSignalh]hSignal}(hj|%hjz%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjw%ubah}(h]h ]h"]h$]h&]uh1j hjG%ubj )}(hhh]h)}(hsys_sigaltstack()h]hsys_sigaltstack()}(hj%hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%ubah}(h]h ]h"]h$]h&]uh1j hjG%ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(h rt_sigreturnh]h rt_sigreturn}(hj%hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%ubah}(h]h ]h"]h$]h&]uh1j hj%ubj )}(hhh]h)}(hj h]h1}(hj hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%ubah}(h]h ]h"]h$]h&]uh1j hj%ubj )}(hhh]h)}(hSignalh]hSignal}(hj%hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%ubah}(h]h ]h"]h$]h&]uh1j hj%ubj )}(hhh]h)}(hsys_rt_sigreturn()h]hsys_rt_sigreturn()}(hj%hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%ubah}(h]h ]h"]h$]h&]uh1j hj%ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hgetpidh]hgetpid}(hj&hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1j hj&ubj )}(hhh]h)}(hjN h]h8}(hjN hj,&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj)&ubah}(h]h ]h"]h$]h&]uh1j hj&ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hjD&hjB&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj?&ubah}(h]h ]h"]h$]h&]uh1j hj&ubj )}(hhh]h)}(h sys_getpid()h]h sys_getpid()}(hj[&hjY&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjV&ubah}(h]h ]h"]h$]h&]uh1j hj&ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(h prlimit64h]h prlimit64}(hj{&hjy&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjv&ubah}(h]h ]h"]h$]h&]uh1j hjs&ubj )}(hhh]h)}(h5h]h5}(hj&hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1j hjs&ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hj&hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1j hjs&ubj )}(hhh]h)}(hsys_prlimit64()h]hsys_prlimit64()}(hj&hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1j hjs&ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(h arch_prctlh]h arch_prctl}(hj&hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1j hj&ubj )}(hhh]h)}(hjqh]h2}(hjqhj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1j hj&ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hj 'hj 'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1j hj&ubj )}(hhh]h)}(hsys_arch_prctl()h]hsys_arch_prctl()}(hj$'hj"'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1j hj&ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hsysinfoh]hsysinfo}(hjD'hjB'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj?'ubah}(h]h ]h"]h$]h&]uh1j hj<'ubj )}(hhh]h)}(hjqh]h2}(hjqhjY'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjV'ubah}(h]h ]h"]h$]h&]uh1j hj<'ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hjq'hjo'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjl'ubah}(h]h ]h"]h$]h&]uh1j hj<'ubj )}(hhh]h)}(h sys_sysinfo()h]h sys_sysinfo()}(hj'hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1j hj<'ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hgetuidh]hgetuid}(hj'hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1j hj'ubj )}(hhh]h)}(hjqh]h2}(hjqhj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1j hj'ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hj'hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1j hj'ubj )}(hhh]h)}(h sys_getuid()h]h sys_getuid()}(hj'hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1j hj'ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hunameh]huname}(hj (hj (hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1j hj(ubj )}(hhh]h)}(hj h]h1}(hj hj!(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1j hj(ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hj9(hj7(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4(ubah}(h]h ]h"]h$]h&]uh1j hj(ubj )}(hhh]h)}(h sys_uname()h]h sys_uname()}(hjP(hjN(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjK(ubah}(h]h ]h"]h$]h&]uh1j hj(ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hsetpgidh]hsetpgid}(hjp(hjn(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjk(ubah}(h]h ]h"]h$]h&]uh1j hjh(ubj )}(hhh]h)}(hj h]h1}(hj hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1j hjh(ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hj(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1j hjh(ubj )}(hhh]h)}(h sys_setpgid()h]h sys_setpgid()}(hj(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1j hjh(ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(h getrusageh]h getrusage}(hj(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1j hj(ubj )}(hhh]h)}(hj h]h1}(hj hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1j hj(ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hj)hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1j hj(ubj )}(hhh]h)}(hsys_getrusage()h]hsys_getrusage()}(hj)hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj)ubah}(h]h ]h"]h$]h&]uh1j hj(ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hgeteuidh]hgeteuid}(hj8)hj6)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3)ubah}(h]h ]h"]h$]h&]uh1j hj0)ubj )}(hhh]h)}(hj h]h1}(hj hjM)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJ)ubah}(h]h ]h"]h$]h&]uh1j hj0)ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hje)hjc)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`)ubah}(h]h ]h"]h$]h&]uh1j hj0)ubj )}(hhh]h)}(h sys_geteuid()h]h sys_geteuid()}(hj|)hjz)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjw)ubah}(h]h ]h"]h$]h&]uh1j hj0)ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hgetppidh]hgetppid}(hj)hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj)ubah}(h]h ]h"]h$]h&]uh1j hj)ubj )}(hhh]h)}(hj h]h1}(hj hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj)ubah}(h]h ]h"]h$]h&]uh1j hj)ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hj)hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj)ubah}(h]h ]h"]h$]h&]uh1j hj)ubj )}(hhh]h)}(h sys_getppid()h]h sys_getppid()}(hj)hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj)ubah}(h]h ]h"]h$]h&]uh1j hj)ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hsendtoh]hsendto}(hj*hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj)ubah}(h]h ]h"]h$]h&]uh1j hj)ubj )}(hhh]h)}(hj^ h]h3}(hj^ hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj*ubah}(h]h ]h"]h$]h&]uh1j hj)ubj )}(hhh]h)}(hNetworkh]hNetwork}(hj-*hj+*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(*ubah}(h]h ]h"]h$]h&]uh1j hj)ubj )}(hhh]h)}(h sys_sendto()h]h sys_sendto()}(hjD*hjB*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj?*ubah}(h]h ]h"]h$]h&]uh1j hj)ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hconnecth]hconnect}(hjd*hjb*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj_*ubah}(h]h ]h"]h$]h&]uh1j hj\*ubj )}(hhh]h)}(hj h]h1}(hj hjy*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjv*ubah}(h]h ]h"]h$]h&]uh1j hj\*ubj )}(hhh]h)}(hNetworkh]hNetwork}(hj*hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj*ubah}(h]h ]h"]h$]h&]uh1j hj\*ubj )}(hhh]h)}(h sys_connect()h]h sys_connect()}(hj*hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj*ubah}(h]h ]h"]h$]h&]uh1j hj\*ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hsocketh]hsocket}(hj*hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj*ubah}(h]h ]h"]h$]h&]uh1j hj*ubj )}(hhh]h)}(hj h]h1}(hj hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj*ubah}(h]h ]h"]h$]h&]uh1j hj*ubj )}(hhh]h)}(hNetworkh]hNetwork}(hj*hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj*ubah}(h]h ]h"]h$]h&]uh1j hj*ubj )}(hhh]h)}(h sys_socket()h]h sys_socket()}(hj +hj +hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+ubah}(h]h ]h"]h$]h&]uh1j hj*ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hcloneh]hclone}(hj,+hj*+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'+ubah}(h]h ]h"]h$]h&]uh1j hj$+ubj )}(hhh]h)}(hj h]h1}(hj hjA+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>+ubah}(h]h ]h"]h$]h&]uh1j hj$+ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hjY+hjW+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjT+ubah}(h]h ]h"]h$]h&]uh1j hj$+ubj )}(hhh]h)}(h sys_clone()h]h sys_clone()}(hjp+hjn+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjk+ubah}(h]h ]h"]h$]h&]uh1j hj$+ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hset_tid_addressh]hset_tid_address}(hj+hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+ubah}(h]h ]h"]h$]h&]uh1j hj+ubj )}(hhh]h)}(hj h]h1}(hj hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+ubah}(h]h ]h"]h$]h&]uh1j hj+ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hj+hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+ubah}(h]h ]h"]h$]h&]uh1j hj+ubj )}(hhh]h)}(hsys_set_tid_address()h]hsys_set_tid_address()}(hj+hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+ubah}(h]h ]h"]h$]h&]uh1j hj+ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hwait4h]hwait4}(hj+hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+ubah}(h]h ]h"]h$]h&]uh1j hj+ubj )}(hhh]h)}(hjqh]h2}(hjqhj ,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1j hj+ubj )}(hhh]h)}(hTimeh]hTime}(hj!,hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1j hj+ubj )}(hhh]h)}(h sys_wait4()h]h sys_wait4()}(hj8,hj6,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3,ubah}(h]h ]h"]h$]h&]uh1j hj+ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(halarmh]halarm}(hjX,hjV,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjS,ubah}(h]h ]h"]h$]h&]uh1j hjP,ubj )}(hhh]h)}(hj h]h1}(hj hjm,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjj,ubah}(h]h ]h"]h$]h&]uh1j hjP,ubj )}(hhh]h)}(hTimeh]hTime}(hj,hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1j hjP,ubj )}(hhh]h)}(h sys_alarm()h]h sys_alarm()}(hj,hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1j hjP,ubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](j )}(hhh]h)}(hset_robust_listh]hset_robust_list}(hj,hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1j hj,ubj )}(hhh]h)}(hj h]h1}(hj hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1j hj,ubj )}(hhh]h)}(hFutexh]hFutex}(hj,hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1j hj,ubj )}(hhh]h)}(hsys_set_robust_list()h]hsys_set_robust_list()}(hj-hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1j hj,ubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jA hj6ubeh}(h]h ]h"]h$]h&]colsKuh1j hj3ubah}(h]h ]h"]h$]h&]uh1j hjhhhhhNubeh}(h]*tracing-stress-ng-netdev-stressor-workloadah ]h"]*tracing stress-ng netdev stressor workloadah$]h&]uh1hhj% hhhhhMubh)}(hhh](h)}(hTracing paxtest kiddie workloadh]hTracing paxtest kiddie workload}(hj8-hj6-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3-hhhhhM ubh)}(h5hj<5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hj95ubah}(h]h ]h"]h$]h&]uh1j hj65ubj )}(hhh]h)}(hj h]h1}(hj hjS5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjP5ubah}(h]h ]h"]h$]h&]uh1j hj65ubj )}(hhh]h)}(h Memory Mgmt.h]h Memory Mgmt.}(hjk5hji5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjf5ubah}(h]h ]h"]h$]h&]uh1j hj65ubj )}(hhh]h)}(h sys_munmap()h]h sys_munmap()}(hj5hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hj}5ubah}(h]h ]h"]h$]h&]uh1j hj65ubeh}(h]h ]h"]h$]h&]uh1j hj".ubj )}(hhh](j )}(hhh]h)}(hbrkh]hbrk}(hj5hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM>hj5ubah}(h]h ]h"]h$]h&]uh1j hj5ubj )}(hhh]h)}(hj^ h]h3}(hj^ hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM>hj5ubah}(h]h ]h"]h$]h&]uh1j hj5ubj )}(hhh]h)}(h Memory Mgmt.h]h Memory Mgmt.}(hj5hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM>hj5ubah}(h]h ]h"]h$]h&]uh1j hj5ubj )}(hhh]h)}(h sys_brk()h]h sys_brk()}(hj5hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM>hj5ubah}(h]h ]h"]h$]h&]uh1j hj5ubeh}(h]h ]h"]h$]h&]uh1j hj".ubj )}(hhh](j )}(hhh]h)}(hgetpidh]hgetpid}(hj6hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hj6ubah}(h]h ]h"]h$]h&]uh1j hj5ubj )}(hhh]h)}(hj h]h1}(hj hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hj6ubah}(h]h ]h"]h$]h&]uh1j hj5ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hj36hj16hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hj.6ubah}(h]h ]h"]h$]h&]uh1j hj5ubj )}(hhh]h)}(h sys_getpid()h]h sys_getpid()}(hjJ6hjH6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hjE6ubah}(h]h ]h"]h$]h&]uh1j hj5ubeh}(h]h ]h"]h$]h&]uh1j hj".ubj )}(hhh](j )}(hhh]h)}(hgetuidh]hgetuid}(hjj6hjh6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhje6ubah}(h]h ]h"]h$]h&]uh1j hjb6ubj )}(hhh]h)}(hj h]h1}(hj hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhj|6ubah}(h]h ]h"]h$]h&]uh1j hjb6ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hj6hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhj6ubah}(h]h ]h"]h$]h&]uh1j hjb6ubj )}(hhh]h)}(h sys_getuid()h]h sys_getuid()}(hj6hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhj6ubah}(h]h ]h"]h$]h&]uh1j hjb6ubeh}(h]h ]h"]h$]h&]uh1j hj".ubj )}(hhh](j )}(hhh]h)}(hgetgidh]hgetgid}(hj6hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhj6ubah}(h]h ]h"]h$]h&]uh1j hj6ubj )}(hhh]h)}(hj h]h1}(hj hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhj6ubah}(h]h ]h"]h$]h&]uh1j hj6ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hj6hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhj6ubah}(h]h ]h"]h$]h&]uh1j hj6ubj )}(hhh]h)}(h sys_getgid()h]h sys_getgid()}(hj7hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhj 7ubah}(h]h ]h"]h$]h&]uh1j hj6ubeh}(h]h ]h"]h$]h&]uh1j hj".ubj )}(hhh](j )}(hhh]h)}(hgeteuidh]hgeteuid}(hj27hj07hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhj-7ubah}(h]h ]h"]h$]h&]uh1j hj*7ubj )}(hhh]h)}(hjqh]h2}(hjqhjG7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhjD7ubah}(h]h ]h"]h$]h&]uh1j hj*7ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hj_7hj]7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhjZ7ubah}(h]h ]h"]h$]h&]uh1j hj*7ubj )}(hhh]h)}(h sys_geteuid()h]h sys_geteuid()}(hjv7hjt7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhjq7ubah}(h]h ]h"]h$]h&]uh1j hj*7ubeh}(h]h ]h"]h$]h&]uh1j hj".ubj )}(hhh](j )}(hhh]h)}(hgetegidh]hgetegid}(hj7hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhj7ubah}(h]h ]h"]h$]h&]uh1j hj7ubj )}(hhh]h)}(hj h]h1}(hj hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhj7ubah}(h]h ]h"]h$]h&]uh1j hj7ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hj7hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhj7ubah}(h]h ]h"]h$]h&]uh1j hj7ubj )}(hhh]h)}(h sys_getegid()h]h sys_getegid()}(hj7hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhj7ubah}(h]h ]h"]h$]h&]uh1j hj7ubeh}(h]h ]h"]h$]h&]uh1j hj".ubj )}(hhh](j )}(hhh]h)}(hgetppidh]hgetppid}(hj7hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhj7ubah}(h]h ]h"]h$]h&]uh1j hj7ubj )}(hhh]h)}(hj h]h1}(hj hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhj 8ubah}(h]h ]h"]h$]h&]uh1j hj7ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hj'8hj%8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhj"8ubah}(h]h ]h"]h$]h&]uh1j hj7ubj )}(hhh]h)}(h sys_getppid()h]h sys_getppid()}(hj>8hj<8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhj98ubah}(h]h ]h"]h$]h&]uh1j hj7ubeh}(h]h ]h"]h$]h&]uh1j hj".ubj )}(hhh](j )}(hhh]h)}(h arch_prctlh]h arch_prctl}(hj^8hj\8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjY8ubah}(h]h ]h"]h$]h&]uh1j hjV8ubj )}(hhh]h)}(hjqh]h2}(hjqhjs8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjp8ubah}(h]h ]h"]h$]h&]uh1j hjV8ubj )}(hhh]h)}(h Process Mgmt.h]h Process Mgmt.}(hj8hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhj8ubah}(h]h ]h"]h$]h&]uh1j hjV8ubj )}(hhh]h)}(hsys_arch_prctl()h]hsys_arch_prctl()}(hj8hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhj8ubah}(h]h ]h"]h$]h&]uh1j hjV8ubeh}(h]h ]h"]h$]h&]uh1j hj".ubeh}(h]h ]h"]h$]h&]uh1jA hj-ubeh}(h]h ]h"]h$]h&]colsKuh1j hj-ubah}(h]h ]h"]h$]h&]uh1j hj3-hhhhhNubeh}(h]tracing-paxtest-kiddie-workloadah ]h"]tracing paxtest kiddie workloadah$]h&]uh1hhj% hhhhhM ubeh}(h]tracing-workloadsah ]h"]tracing workloadsah$]h&]uh1hhhhhhhhM9ubh)}(hhh](h)}(h Conclusionh]h Conclusion}(hj8hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8hhhhhMPubh)}(hThis document is intended to be used as a guide on how to gather fine-grained information on the resources in use by workloads using strace.h]hThis document is intended to be used as a guide on how to gather fine-grained information on the resources in use by workloads using strace.}(hj8hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhj8hhubeh}(h] conclusionah ]h"] conclusionah$]h&]uh1hhhhhhhhMPubh)}(hhh](h)}(h Referencesh]h References}(hj 9hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9hhhhhMVubj)}(hhh]h)}(hhh](h)}(h`Discovery Linux Kernel Subsystems used by OpenAPS `_h]h)}(hj9h](h)}(hj9h]h1Discovery Linux Kernel Subsystems used by OpenAPS}(h1Discovery Linux Kernel Subsystems used by OpenAPShj"9hhhNhNubah}(h]h ]h"]h$]h&]name1Discovery Linux Kernel Subsystems used by OpenAPSjThttps://elisa.tech/blog/2022/02/02/discovery-linux-kernel-subsystems-used-by-openapsuh1hhj9ubj)}(hW h]h}(h]1discovery-linux-kernel-subsystems-used-by-openapsah ]h"]1discovery linux kernel subsystems used by openapsah$]h&]refurij29uh1jj"Khj9ubeh}(h]h ]h"]h$]h&]uh1hhhhMXhj9ubah}(h]h ]h"]h$]h&]uh1hhj9ubh)}(h`ELISA-White-Papers-Discovering Linux kernel subsystems used by a workload `_h]h)}(hjN9h](h)}(hjN9h]hIELISA-White-Papers-Discovering Linux kernel subsystems used by a workload}(hIELISA-White-Papers-Discovering Linux kernel subsystems used by a workloadhjS9hhhNhNubah}(h]h ]h"]h$]h&]nameIELISA-White-Papers-Discovering Linux kernel subsystems used by a workloadjhttps://github.com/elisa-tech/ELISA-White-Papers/blob/master/Processes/Discovering_Linux_kernel_subsystems_used_by_a_workload.mduh1hhjP9ubj)}(h h]h}(h]Ielisa-white-papers-discovering-linux-kernel-subsystems-used-by-a-workloadah ]h"]Ielisa-white-papers-discovering linux kernel subsystems used by a workloadah$]h&]refurijc9uh1jj"KhjP9ubeh}(h]h ]h"]h$]h&]uh1hhhhMYhjL9ubah}(h]h ]h"]h$]h&]uh1hhj9ubh)}(h?`strace `_h]h)}(hj9h](h)}(hj9h]hstrace}(hstracehj9hhhNhNubah}(h]h ]h"]h$]h&]namej9j3https://man7.org/linux/man-pages/man1/strace.1.htmluh1hhj9ubj)}(h6 h]h}(h]id1ah ]h"]h$]straceah&]refurij9uh1jj"Khj9ubeh}(h]h ]h"]h$]h&]uh1hhhhMZhj}9ubah}(h]h ]h"]h$]h&]uh1hhj9ubh)}(h;`perf `_h]h)}(hj9h](h)}(hj9h]hperf}(hperfhj9hhhNhNubah}(h]h ]h"]h$]h&]namej9j1https://man7.org/linux/man-pages/man1/perf.1.htmluh1hhj9ubj)}(h4 h]h}(h]id2ah ]h"]h$]perfah&]refurij9uh1jj"Khj9ubeh}(h]h ]h"]h$]h&]uh1hhhhM[hj9ubah}(h]h ]h"]h$]h&]uh1hhj9ubh)}(h``paxtest README `_h]h)}(hj9h](h)}(hj9h]hpaxtest README}(hpaxtest READMEhj9hhhNhNubah}(h]h ]h"]h$]h&]namepaxtest READMEjLhttps://github.com/opntr/paxtest-freebsd/blob/hardenedbsd/0.9.14-hbsd/READMEuh1hhj9ubj)}(hO h]h}(h]paxtest-readmeah ]h"]paxtest readmeah$]h&]refurij9uh1jj"Khj9ubeh}(h]h ]h"]h$]h&]uh1hhhhM\hj9ubah}(h]h ]h"]h$]h&]uh1hhj9ubh)}(h2`stress-ng `_h]h)}(hj:h](h)}(hj:h]h stress-ng}(h stress-nghj:hhhNhNubah}(h]h ]h"]h$]h&]namej:j#https://www.mankier.com/1/stress-nguh1hhj:ubj)}(h& h]h}(h]id3ah ]h"]h$] stress-ngah&]refurij$:uh1jj"Khj:ubeh}(h]h ]h"]h$]h&]uh1hhhhM]hj:ubah}(h]h ]h"]h$]h&]uh1hhj9ubh)}(h`Monitoring and managing system status and performance `_h]h)}(hj@:h](h)}(hj@:h]h5Monitoring and managing system status and performance}(h5Monitoring and managing system status and performancehjE:hhhNhNubah}(h]h ]h"]h$]h&]name5Monitoring and managing system status and performancejhttps://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/monitoring_and_managing_system_status_and_performance/indexuh1hhjB:ubj)}(h h]h}(h]5monitoring-and-managing-system-status-and-performanceah ]h"]5monitoring and managing system status and performanceah$]h&]refurijU:uh1jj"KhjB:ubeh}(h]h ]h"]h$]h&]uh1hhhhM^hj>:ubah}(h]h ]h"]h$]h&]uh1hhj9ubeh}(h]h ]h"]h$]h&]jSjuh1hhhhMXhj9ubah}(h]h ]h"]h$]h&]uh1jhj9hhhNhNubeh}(h] referencesah ]h"] referencesah$]h&]uh1hhhhhhhhMVubeh}(h]6discovering-linux-kernel-subsystems-used-by-a-workloadah ]h"]6discovering linux kernel subsystems used by a workloadah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksj footnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj:error_encodingUTF-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confapep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacefile_insertion_enabled raw_enabledKline_length_limitM'syntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_link embed_imagesenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j:j:jjjjjBj?jdjajjjjjHjEjjjjjj jZjWjFjCjj~j5j2jjjljijjj8j5jjjjj" j j8j8jjj0-j--j8j8j9j8j:j}:j<9j99jm9jj9j9j9j_:j\:u nametypes}(j:NjNjjBjdjNjjHNjNjNjNjZNjFjNj5NjNjljNj8NjNjNj" Nj8NjNj0-Nj8Nj9Nj:Nj<9jm9j9j_:uh}(j:hjjjjj?j9jaj[jjjjjEjjjKjjj jjWjjCj=j~j]j2jjj8jijcjjj5jjj;jjj jj8j% jjD j--jj8j3-j8j8j}:j9j99j39jj9jd9j9j9j9j9j9j9j+:j%:j\:jV:u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}j:KsRparse_messages](hsystem_message)}(hhh]h)}(h)Duplicate explicit target name: "strace".h]h-Duplicate explicit target name: “strace”.}(hhhj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&]j9alevelKtypeINFOsourcehlineKuh1j;hj}9ubj;)}(hhh]h)}(h'Duplicate explicit target name: "perf".h]h+Duplicate explicit target name: “perf”.}(hhhj1;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.;ubah}(h]h ]h"]h$]h&]j9alevelKtypej+;sourcehlineKuh1j;hj9ubj;)}(hhh]h)}(h,Duplicate explicit target name: "stress-ng".h]h0Duplicate explicit target name: “stress-ng”.}(hhhjL;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjI;ubah}(h]h ]h"]h$]h&]j+:alevelKtypej+;sourcehlineKuh1j;hj:ubetransform_messages] transformerN include_log] decorationNhhub.