USENIX 2004 Annual Technical Conference, FREENIX Track Abstract
Pp. 183191 of the Proceedings
Making RCU Safe for Deep Sub-Millisecond Response Realtime Applications
Dipankar Sarma and Paul E. McKenney, IBM
Abstract
LinuxTM
has long been used for soft realtime applications.
More recent work is preparing Linux for more aggressive
realtime use, with scheduling latencies in the small
number of hundreds of microseconds (that is right,
microseconds, not milliseconds).
The current Linux 2.6 RCU implementation both helps
and hurts.
It helps by removing locks, thus reducing latency in
general, but hurts by causing large numbers of RCU
callbacks to be invoked all at once at the end of
the grace period.
This batching of callback invocation improves throughput,
but unacceptably degrades realtime response for
the more discerning realtime applications.
This paper describes modifications to RCU that greatly
reduce its effect on scheduling latency, without
significantly degrading performance for non-realtime
Linux servers.
Although these modifications appear to prevent RCU from
interfering with realtime scheduling, other Linux kernel
components are still problematic.
We are therefore working on tools to help identify the
remaining problematic components and to definitively
determine whether RCU is still an issue.
In any case, to the best of our knowledge, this is the first time
that anything resembling RCU has been modified to accommodate the
needs of realtime applications.
- View the full text of this paper in HTML and PDF.
The Proceedings are published as a collective work, © 2004 by the USENIX Association. All Rights Reserved. Rights to individual papers remain with the author or the author's employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. USENIX acknowledges all trademarks within this paper.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
|