Non il a raison. Le patch 4/4 n'a pas besoin de PAE. La ruse c'est de garder uniquement 16MB dans l'espace d'adressage du processus pour le noyau et de flusher le TLB quand tu passes en code système. Sur un noyau classique au dessus de PAGE_OFFSET tu as tout ce qu'il faut (même mapping pour tout les processus). Du coup le patch est très couteux pour les processus qui font beaucoup d'aller retour entre code utilisateur et noyau. Après 4/4 est souvent couplé à PAE par ce qu'il est généralement utilisé sur les systèmes avec plus de 4G de RAM. Mais on pourrait très bien avoir 4G de RAM et vouloir donner cet 4G à un unique processus et donc justifié un noyau 4/4 sans PAE.
Je crois que j'avais écrit une petite doc sur le fonctionnement de tout les patchs de cette époque là (vers 2004). Faudrait que je cherche si ca intéresse quelqu'un. Autrement tout doit toujours être dispo dans les archives de kerneltrap.
[^] # Re: 0xc0000000
Posté par ckyl . En réponse au journal x32: Une nouvelle ABI Linux '32 bits' pour les CPU x86-64. Évalué à 4.
Non il a raison. Le patch 4/4 n'a pas besoin de PAE. La ruse c'est de garder uniquement 16MB dans l'espace d'adressage du processus pour le noyau et de flusher le TLB quand tu passes en code système. Sur un noyau classique au dessus de PAGE_OFFSET tu as tout ce qu'il faut (même mapping pour tout les processus). Du coup le patch est très couteux pour les processus qui font beaucoup d'aller retour entre code utilisateur et noyau. Après 4/4 est souvent couplé à PAE par ce qu'il est généralement utilisé sur les systèmes avec plus de 4G de RAM. Mais on pourrait très bien avoir 4G de RAM et vouloir donner cet 4G à un unique processus et donc justifié un noyau 4/4 sans PAE.
Je crois que j'avais écrit une petite doc sur le fonctionnement de tout les patchs de cette époque là (vers 2004). Faudrait que je cherche si ca intéresse quelqu'un. Autrement tout doit toujours être dispo dans les archives de kerneltrap.