http://man7.org/linux/man-pages/man2/getcpu.2.html indique que sched_getcpu() n'est qu'un wrapper pour getcpu().
http://man7.org/linux/man-pages/man2/getcpu.2.html suggère que les informations fournies sont exactes, car une ancienne option de mise en cache n'est plus utilisée :
L'argument tcache est inutilisé depuis Linux 2.6.24... il spécifiait un pointeur vers un tampon alloué par l'appelant dans le stockage local des threads qui était utilisé pour fournir un mécanisme de mise en cache pour getcpu(). L'utilisation du cache pouvait accélérer les appels à getcpu(), au prix d'une très faible probabilité que les informations renvoyées soient obsolètes. Le mécanisme de mise en cache était considéré comme causant des problèmes lors de la migration des threads entre les processeurs, et donc l'argument est maintenant ignoré.
Donc, à moins que vous n'utilisiez un noyau antérieur à la version 2.6.24, il semble peu probable que vous voyiez des informations anciennes/en cache.