http://man7.org/linux/man-pages/man2/getcpu.2.html gibt an, dass sched_getcpu() nur ein Wrapper für getcpu() ist.
http://man7.org/linux/man-pages/man2/getcpu.2.html weist darauf hin, dass die bereitgestellten Informationen korrekt sind, da eine alte Caching-Option nicht mehr verwendet wird:
Das tcache-Argument wird seit Linux 2.6.24 nicht mehr verwendet ... es spezifizierte einen Zeiger auf einen vom Aufrufer zugewiesenen Puffer im Thread-lokalen Speicher, der verwendet wurde, um einen Caching-Mechanismus für getcpu() bereitzustellen. Die Verwendung des Caches könnte getcpu()-Aufrufe beschleunigen, auf Kosten der sehr geringen Wahrscheinlichkeit, dass die zurückgegebenen Informationen veraltet wären. Es wurde angenommen, dass der Caching-Mechanismus Probleme verursacht, wenn Threads zwischen CPUs migriert werden, und daher wird das Argument jetzt ignoriert.
Wenn Sie also keinen Kernel vor 2.6.24 verwenden, ist es unwahrscheinlich, dass Sie alte/gecachte Informationen sehen.