Le point que tu donnes on s'en balance dans un cas comme ca. On est en train de faire des benchs à vie courte !
Maintenant si tu regardes le code qui est exécuté pour gettimeofday, ou clock_gettime, je ne vois des masses que je pourrais faire mieux en écrivant mon propre code sauf besoin extrêment spécifique qui mérite qu'on prenne le risque de faire n'importe quoi. Maintenant puisque tu insistes sur le monotonic, si je compare do_monotonic avec do_realtime je ne vois pas en quoi ca change quoi que ce soit pour notre problème actuel. La différence c'est juste un offset appliqué par update_vsyscall quand les valeurs de base de vsyscall_gtod_data sont mises à jour.
Rappelons que ces fonctions sont mappées dans la page vdso par le kernel dans l'espace utilisateur de chaque process et donc que le coût d'appel à ces syscall à exactement le même qu'a une fonction userspace normale.
Je peux me tromper, je ne suis qu'un oeil naïf. Mais en réfléchissant au problème et à l'implémentation actuelle je ne vois pas de raison d'aller voir ailleurs.
[^] # Re: y'a trop peu d'infos pour t'aider.
Posté par ckyl . En réponse au journal Performances des processeurs Intel et optimisation. Évalué à 4. Dernière modification le 14 mai 2013 à 19:03.
Le point que tu donnes on s'en balance dans un cas comme ca. On est en train de faire des benchs à vie courte !
Maintenant si tu regardes le code qui est exécuté pour
gettimeofday, ouclock_gettime, je ne vois des masses que je pourrais faire mieux en écrivant mon propre code sauf besoin extrêment spécifique qui mérite qu'on prenne le risque de faire n'importe quoi. Maintenant puisque tu insistes sur le monotonic, si je compare do_monotonic avec do_realtime je ne vois pas en quoi ca change quoi que ce soit pour notre problème actuel. La différence c'est juste un offset appliqué par update_vsyscall quand les valeurs de base devsyscall_gtod_datasont mises à jour.Rappelons que ces fonctions sont mappées dans la page
vdsopar le kernel dans l'espace utilisateur de chaque process et donc que le coût d'appel à ces syscall à exactement le même qu'a une fonction userspace normale.Je peux me tromper, je ne suis qu'un oeil naïf. Mais en réfléchissant au problème et à l'implémentation actuelle je ne vois pas de raison d'aller voir ailleurs.