• [^] # Re: FreeBSD 5.X vs 4.X

    Posté par . En réponse à la dépêche DragonflyBSD 1.0rc1. Évalué à 10.

    Le principal reproche de Matt à l'orientation de FreeBSD concerne l'utilisation massive de mutex dans le noyau. Selon lui, une utilisation de mutex au travers des différents niveau du noyau (par exemple passer un mutex en argument d'une fonction d'un sous-niveau du noyau pour qu'elle puisse le déverouiller) entraine une complexité difficile à maintenir et des pertes de performances dues aux deadlocks, aux inversions de priorité et à l'overhead des mutex.

    Matt a implementé un scheduleur lwkt avec une architecture appropriée au SMP. Chaque processeur se voit attribuer un scheduleur lwkt et les threads sont compartimenté par processeur. Les mutex sont remplacé par les "serialized tokens" qui garantissent à un ensemble de thread qu'ils ne tourneront jamais en même temps à conditions qu'ils ne bloquent pas dans un appel système.