Linuxでpthreadsのパフォーマンスの問題をデバッグしようとしていますが、sched_getcpu()が私に嘘をついている可能性があります。プロファイリング実験では、スレッドが実際にあるコアから別のコアに移動中であることを示唆しているようです。Linuxではsched_getcpu()が信頼できますか?
sched_cpu()
が、スレッドの実行を開始した最初のCPUを報告してスレッドの移行を知らないのではないかと思いますか?他の誰かがこれに気付いたか、または返品価値sched_getcpu()
が変更される可能性があるという証拠は見当たりませんか?現実的でない場合は、現在のCPUを追跡する他の方法がありますか(かもしれませんか?)
包括的な答えをくれてありがとう - 私のカーネルバージョンは3.10と思われるので、私はこの動作が見られないはずです。私は少し深く掘り下げなければならないでしょう... –