The realtime preemption project is a longstanding effort to provide deterministic response times in Linux. But for the last year progress toward getting the realtime work into the mainline has slowed. On February 11, Thomas Gleixner and Ingo Molnar resurfaced with the announcement of a new realtime tree and a newly reinvigorated development effort, LWN has a interviewed them.
does mainline linux now have cpu core interrupt shielding for realtime?
that is, preventing interrupts from going tot specified cores/cpus and binding real-time processes to those shielded cores.
this was done commercially by a company (concurrent, now owned by novell i think).
empirical evidence showed that the spread of response times or latencies is much smaller with this shielding.
essentially you are setting aside cpus or cores to do a job, and shielding them from distractions.
Not directly, but with the RT patchset, you can configure the kernel to compile in support for control groups, group CPU scheduling, and grouping tasks according to control group. This lets you then define groups for tasks by control groups instead of grouping according to user id.
You can then specify which groups get realtime scheduling and assign CPU affinity. Since interrupts are threaded in the RT kernel, you can assign them as well as non-critical process to one group and then assign realtime critical process to another and assign CPU affinity accordingly.
Technically the _setup_ of this has little to do with the realtime patchset though, since the functionality to setup this type grouping is part of the vanilla kernel. The rt patchset is just what makes the mode deterministic and gives the scheduling finer granularity, as well as offering processes / groups different scheduling tiers. (like SCHED_RR and SCHED_FIFO)
I’m not sure I understand your question – but you can manually configure the interrupt affinity, creating an interrupt-free core(s).
– Gilboa