TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

The case of the vanishing CPU: A Linux kernel debugging story

47 点作者 manish_gill2 个月前

2 条评论

araes2 个月前
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&#x27;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&#x27;s huge amounts of contention.<p><pre><code> &quot;during 3 seconds there were at least 138 threads active. 84% of stacktraces have &#x27;evict_folios&#x27; frame according to the flamegraph, so it is very likely that more than 100 threads are constantly trying to do something with the spinlock.&quot; </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&#x27;re all fighting over the same memory page regions every time they&#x27;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 &#x2F; better explanation &#x2F; summary ...
评论 #43302321 未加载
nasretdinov2 个月前
Really nice illustration of how to use eBPF, I wish more people would share this