This is an old revision of the document!
Topics Overview for PREEMPT_RT mainlining
This page lists all the topics that need to be handled to get
PREEMPT_RT mainlined since the RTL collaborative project started. The
main reason for these changes is to simplify RT interaction and
integration. The topics are split into different types and are listed
in the planned order. In addition to the topics listed, testing,
documentation, and LTS kernel support for the PREEMPT_RT patch have to
be done continuously.
Changes to current kernel functionality
The CPU hotplug code needs an overhaul in general
Some of the existing timer infrastructure needs to be rewritten
Pagefault disable/enable handling (the kernel pagefault disable/enable mechanism is not RT compatible. Rework it to fit RT)
Extensions to current kernel functionality
kmap infrastructure – adaption to make it RT compatible
Additional annotation mechanisms are necessary which allow RT to substitute functionality. (Such annotations are useful in general even for non-RT as they add value by making the code clearer and the scope of functionality documented)
Extending debug infrastructure, e.g. lockdep to handle the new lock types.
Redesigning RT components
Make use of the new annotation mechanisms
Soft interrupt handling – structure must be adopted to be RT compatible
Reader/writer lock handling - they are not scalable on RT. Find a scalable solution
Hotplug interaction – find a proper solution able to be compatible with RT requirements
Timer interaction – rework the kernel architecture to be compatible with RT requirements
Redesigning components & Documentation
More palatable approach to RT friendly memory management - develop an upstream acceptable solution for the RT requirements
Required to make mainline developers comfortable with it
Required for driver developers
Various details which do not fit into any of the above categories, but need to be addressed to make RT upstream acceptable