Speaker
Description
Maintaining A Stable Real-time Kernel Patchset
josephtsalisbury@gmail.com
jsalisbury@kernel.org
Abstract:
The Real Time Linux collaborative project coordinates the maintenance and hosts the repositories for the PREEMPT_RT patchset[0]. This patchset provides the logic for changing a generic vanilla kernel into a real-time operating system.
The real-time patchset is developed in parallel with the mainline kernel. Once mainline is released, the patchset follows it into the next major version. However, for long-term stable kernels (LTS), a stable version of the patchset is continually maintained until the end-of-life (EOL) of the LTS kernel.
Joseph has recently become the maintainer of the 5.15 stable release of the real time kernel. He will use his experiences of coming up to speed on this work to present what it takes to be a kernel maintainer. This will be helpful for those that want to learn the workflow of maintaining an upstream project and learn about commonly used upstream tools. It will also be helpful to those that want to better understand the stable maintenance process in general. Some topics covered will be:
- Stable maintenance time frames for the RT patchset.
- What kind of logic and which subsystems are targeted by the patchset.
- Workflow for generating new stable patchsets for LTS kernels.
- How does the community know about a new release? How can the community contribute and get involved?
A large component of this talk will be the SRT tool[1], which was created by Daniel Wagner. This tool provides a scripted mechanism to maintain stable real-time trees. SRT is installed via pip in Python 3 [2] with the src available in github [3]. It is possible to use SRT for other projects hosted on kernel.org. SRT provides a way to rebase and merge kernel stable updates and commit / tag in a consistent / repeatable way. SRT uses the kernel uploaded (KUP)[4], which provides a way to upload a project's source to kernel.org.
[0] https://wiki.linuxfoundation.org/realtime/start
[1] https://stable-rt-tools.readthedocs.io/en/latest/index.html
[2] https://pypi.org/project/stable-rt-tools/
[3] https://github.com/igaw/stable-rt-tools
[4] https://git.kernel.org/pub/scm/utils/kup/kup.git