Interprocessor interrupts (IPIs) are a nuisance to a number of specialized workloads. Like an unwarranted visitor, they impose themselves onto processors that would rather be busy running critical tasks, idling, or waiting for an important event. There are methods for signaling a CPU is off-limits, like CPU isolation, but they not good enough. Things like cache operations slip through the cracks.
There is room for improvement nonetheless. By merging RCU's extended quiescent state tracking into the context tracking subsystem the kernel has now gained a new API to keep track of its CPUs' execution context, opening the door to finer-grained IPI targeting.
In this talk, I'll make a brief review of the state of the art and discuss my efforts and the challenges of using context tracking to avoid TLB shoot-downs on nohz_full or idle x86_64 CPUs.
Among other things, it'll be interesting to discuss other use-cases for this, aswell as the eventual challenges of integrating into other architectures.
|I agree to abide by the anti-harassment policy