Abstract

Data races are increasingly seen as concurrency bugs and they are difficult to reproduce and diagnose in parallel programs. Linux kernel is a large-scale software system, in which intensive thread-level parallelism and non-deterministic thread interleaving are more prone to race conditions. This paper conducts an investigation of real Linux kernel data races in recent 5 years. Our results show that there are about 500 real kernel data races reported and fixed in recent 5 years. File systems and drivers among all modules hold a much higher percentage of race conditions than other modules. We also conduct a case-bycase study on data races and graphically show how these data races are triggered with specific thread interleaving. Our analysis results are of interest to researchers and engineers who are committed to kernel data race detection and kernel development.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call