On Mon, Jul 26, 2021 at 05:20:55PM -0400, Waiman Long wrote: > Agreed. The xchg_tail() for the "_Q_PENDING_BITS == 1" case is a software > emulation of xchg16(). Pure software emulation like that does not provide > forward progress guarantee. This is usually not a big problem for non-RT > kernel for which occasional long latency is acceptable, but it is not good > for RT kernel. Even !RT doesn't like lock starvation. We've had quite a number of truly terrible performance problems due to lock starvation over the years. Please don't categorize this as an RT issue. It is true that RT absolutely must not have unfair locks, but you can't turn that around and say that only RT requires fair locks.