Instruction Cache Pathology Report of Linux System Calls
Linux system calls have complex and large instruction footprints leading to poor instruction cache utilization on modern CPUs, that has a significant impact on the system call performance. However, understanding the kernel's instruction cache behavior is not easy because system calls are fast and run in the context of the user process. This talk presents a high frequency profiler called SHIM-PT that could help developers to understand the kernel's icache usage by correlating icache related performance counter information with the instruction flow of system calls on modern CPUs. SHIM-PT uses the SHIM profiler to record the icache micro-architecture behaviors by sampling performance counters at a high frequency, at the same time, it records the full CPU instruction traces of system calls with the Simple-PT tracer, then it correlates the two signals and reports the icache pathology information. This talk shows many interesting icache behaviors of Linux system calls on Intel CPUs with real-world workloads from web browsers to network servers.