2023 · IEEE Working Conference on Source Code Analysis and Manipulation (SCAM)

PASD: A Performance Analysis Approach Through the Statistical Debugging of Kernel Events

Mohammed Adib Khan | Morteza Noferesti | Naser Ezzati-Jivan

Evidence basis: metadata-only · Review status: catalog-reviewed; paper-author approval pending

kernel-tracing performance-analysis root-cause-analysis anomaly-detection

statistical debugging Linux kernel tracepoints Perf perf record call stacks sched_switch Firefox Coreutils ls Bug 1637586 Bug 1565019 function suspect ranking

Core contribution: PASD uses Linux kernel-event traces, Perf call stacks, and statistical debugging to rank functions associated with performance problems without application-source instrumentation.

Problem and motivation

Application instrumentation may be unavailable or intrusive, while kernel-event behavior and call stacks contain evidence about functions correlated with performance degradation.

Method and contribution

PASD traces Linux tracepoints such as sched_switch, IRQ, block-I/O, and network events and collects call stacks with perf record -g. It defines event-interval metrics, labels successful/failed and normal/abnormal observations, computes Failure, Context, and Increase statistics, ranks functions by Increase, and prunes the bottom 15%.

Findings and evidence

Three cases cover Firefox CSS-animation Bug 1637586, Firefox Tripadvisor CPU-exhaustion Bug 1565019, and slow ls in very large directories. The analysis identifies WebRenderCommandBuilder functions for the first case, gethostbyaddr_r/pthread_cond_signal/getifaddrs_internal among the top functions for the second, and GI statfs/do lstat/print color indicator in the ls case. Reported offline analysis times are about 173, 330, and 54 ms per 1,000 events for the three cases.

Limitations and future directions

Limitations: The evidence consists of three reproduced bug cases and does not establish broad workload, kernel-version, or online-diagnosis generalization. The collection is low-level and source-free, but the reported cases still rely on call-stack symbols and selected trace events.

Future work: Reduce manual intervention, use machine learning to predict performance and configure tracing dynamically, and evaluate databases, servers, parallel processing, and other complex systems.

Sources and identifiers

When to cite this paper

Cite this paper when using kernel events and Perf call stacks for source-free statistical performance debugging.

Citation

BibTeX
@inproceedings{ezzatiJivan2023pasda,
  author = {Mohammed Adib Khan and Morteza Noferesti and Naser Ezzati-Jivan},
  title = {PASD: A Performance Analysis Approach Through the Statistical Debugging of Kernel Events},
  year = {2023},
  booktitle = {IEEE Working Conference on Source Code Analysis and Manipulation (SCAM)},
  pages = {151-161},
  publisher = {IEEE},
  doi = {10.1109/scam59687.2023.00025},
  url = {https://doi.org/10.1109/scam59687.2023.00025}
}
Other citation formats for Word and reference managers
APA 7
Khan, M. A., Noferesti, M., & Ezzati-Jivan, N. (2023). PASD: A Performance Analysis Approach Through the Statistical Debugging of Kernel Events. In IEEE Working Conference on Source Code Analysis and Manipulation (SCAM) (pp. 151-161). https://doi.org/10.1109/scam59687.2023.00025
IEEE
M. A. Khan, M. Noferesti, and N. Ezzati-Jivan, "PASD: A Performance Analysis Approach Through the Statistical Debugging of Kernel Events," in IEEE Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 151-161, 2023, doi: 10.1109/scam59687.2023.00025

Readable Markdown record · JSON record · Download RIS