Comme d'autres l'ont expliqué déjà, ce patch permet au noyau (aux appels systèmes en fait)
d'être préemptés, presque comme si'ils s'exécutaient en mode user.
Le problème c'est que pour arriver à faire ça sans tout faire planter il faut mettre des sémaphores et autre joyeusetés un peu partout dans le code du noyau, pour garantir l'exclusion mutuelle de certaines sections critiques qui avant étaient forcément atomiques, puisque c'est le code qui décidait de rendre la main seulement à la sortie de telles sections (en général avec interruptible_wait_on() quand on attend une ressource).
Le problème c'est que la gestion de tous ces sémaphores complique le code, mais surtout augmente le temps passé au total.
Ainsi, un noyau patché sera plus rapide à répondre, ce qu'on veut pour du desktop, (à la BeOS), mais les performances globales seront légèrement inférieures (= temps d'exécution total) qu'avec un noyau non patché.
Pour la plupart des serveurs on va préférer la performance brute sans se soucier du temps de latence, donc on oublie le patch.
(de toutes façon la latence des réseaux est bien plus grande que la latence dans le noyau, donc le gain serait négligeable dans le cas d'un serveur réseau et les perfs seraient moindres pour rien).
[^] # Re: Oui, mais
Posté par Francois Revol (site web personnel) . En réponse à la dépêche Linux kernel preemption project. Évalué à 7.
d'être préemptés, presque comme si'ils s'exécutaient en mode user.
Le problème c'est que pour arriver à faire ça sans tout faire planter il faut mettre des sémaphores et autre joyeusetés un peu partout dans le code du noyau, pour garantir l'exclusion mutuelle de certaines sections critiques qui avant étaient forcément atomiques, puisque c'est le code qui décidait de rendre la main seulement à la sortie de telles sections (en général avec interruptible_wait_on() quand on attend une ressource).
Le problème c'est que la gestion de tous ces sémaphores complique le code, mais surtout augmente le temps passé au total.
Ainsi, un noyau patché sera plus rapide à répondre, ce qu'on veut pour du desktop, (à la BeOS), mais les performances globales seront légèrement inférieures (= temps d'exécution total) qu'avec un noyau non patché.
Pour la plupart des serveurs on va préférer la performance brute sans se soucier du temps de latence, donc on oublie le patch.
(de toutes façon la latence des réseaux est bien plus grande que la latence dans le noyau, donc le gain serait négligeable dans le cas d'un serveur réseau et les perfs seraient moindres pour rien).