Pourquoi les mutex POSIX sont-ils considérés comme plus lourds ou plus lents que les futex ? D'où vient la surcharge du type de mutex de pthread ? J'ai entendu dire que les mutex pthreads sont basés sur les futex et que, lorsqu'ils ne sont pas contestés, ils ne font aucun appel au noyau. Il semble donc qu'un pthread mutex soit simplement un "emballage" autour d'un futex.
La surcharge est-elle simplement due à l'appel de la fonction enveloppante et à la nécessité pour la fonction mutex de "configurer" le futex (c'est-à-dire, en gros, la configuration de la pile pour l'appel de la fonction mutex de pthread) ? Ou bien y a-t-il des étapes supplémentaires de barrière mémoire avec le pthread mutex ?