• [^] # Re: Transparent huge pages

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

    Le prefetch ne dépassent pas les limites de pages justement pour éviter les pages miss et les pages fault. Cela m'étonnerait que les cpu actuelles puissent allez au dela de la limite de 4ko, car pour cela il devrait avoir l'information du type de page actuel.

    Relis mon commentaire et tu verra que c'est ce que je dis... Avec une grosse page tu profite bien plus du prefetch qu'avec une petite.

    De plus, les prefetchs sont petits, il s'agit de lire 1 ligne ou 2 de cache en avance.

    Bien sûr, si tu accèdes à l'adresse x, il va prefetcher x+1, mais quand tu vas utiliser x+1, il va prefetcher x+2. (x étant une ligne de cache)
    Donc au final si tu fais un accès continus le prefetch est actif en permanence et si ton traitement sur x n'est pas trop court, les latences mémoires sont masquées.

    Le problème du swap est différent. Tout est plus rapide qu'un accès disque, donc on peut se permettre des algo très intelligent.

    Ce n'est pas une question d'algos intelligents ou pas, c'est juste que lorsque tu récupère des données depuis le swap ou depuis un fichier, pour ce qui est du temps de transfert que ce soit 4k ou 2Mo la différence est minime, ce qui compte c'est la latence qui est la même et bien supérieur au temps de transfert. Donc autant récupérer directement 2Mo (voir plus) et surtout stocker ce gros bloc dans une seule grosse page pour pouvoir profiter du prefetch ensuite et réduire les pages miss et cache miss.