• [^] # Re: Transparent huge pages

    Posté par . En réponse à la dépêche Le noyau Linux est disponible en version 2.6.38. Évalué à 3.

    J'étais parti pour faire une longue explication sur pourquoi ce ne serais pas stupide vu le fonctionnement des gestionnaires de mémoire mais en fait il y a beaucoup plus simple :

    De manière générale, la mémoire « gaspillée » est au plus égale à la taille d'une page moins un octet et en général elle est aux alentours d'une demie page. Sur mon système qui n'a rien de particulier — les programmes classiques avec un desktop, un lecteur de mail, un navigateur et quelques terminaux et éditeurs — j'ai 71 processus en cours.

    Cela veut dire qu'avec des pages de 2Mo je « perd » environs 71Mo. Mais ils ne sont absolument pas perdus, c'est juste des pages qui doivent être fragmentées si il n'y a plus de mémoire.

    Et au final j'aimerais même pouvoir désactiver cette fragmentation automatique car je préfère qu'il envoi dans le swap une page de 2Mo plutôt que de la fragmenter. Il faut bien voir qu'il y a d'autres intérêts au grosses page que la libération de la TLB, il y a aussi le fait qu'une application sait que toutes les données au sein d'une page sont contiguës en mémoire. Et la localité en mémoire est très importante pour avoir des latences faible dans les accès séquentiels et pour optimiser les caches.

    Donc voilà, moi j'aimerais beaucoup pouvoir compiler mon noyau sans gestion des pages de 4ko. Tu fais comme tu veux avec le tien.