Context Switch Overheads for Linux on ARM Platforms
Context switching imposes a performance penalty on threads in a multitasking environment. The source of this penalty is both direct overhead due to running the context switch code and indirect overhead due to perturbation of caches. The authors calculate indirect overhead by measuring the running time of tasks that use context switching and subtracting the direct overhead. They also measure the indirect overhead impact on the running time of tasks due to processor interrupt servicing. Experiment results are presented for the Linux kernel running on an ARM processor based mobile device platform.