The article was eventually kind of interesting, although it had so much investigation involved I forgot what I was even reading by the end.<p>General idea was interesting, and probably something to look at (apparently there's an issue open). Final result was (I think...) that the Least Recently Used (LRU) memory function requires a spinlock to actually swap out memory pages, and there's huge amounts of contention.<p><pre><code> "during 3 seconds there were at least 138 threads active. 84% of stacktraces have 'evict_folios' frame according to the flamegraph, so it is very likely that more than 100 threads are constantly trying to do something with the spinlock."
</code></pre>
So, basically 100 threads fighting over <i>evict_folio</i> and <i>lru_lock</i> constantly, and at least it seems (although admit eyes started glazing over) they're all fighting over the same memory page regions every time they're trying to <i>lru_lock</i> (initiate a spinlock for memory access releases).<p>Note: Totally way outside of my standard programming realm, so if somebody has a clearer / better explanation / summary ...