> Actuellement, si t'as une adresse "addr" d'un espace d'adressage "mm", tu dois faire (en virant les routines les verifications) :
> pgd = pgd_offset(mm, addr);
> ...
Qui doit faire/utiliser ça ?
Il n'y a que la partie du noyau qui gère la mémoire qui utilise ça (répertoire mm qui n'est pas lourd par rapport au reste).
C'est une API qui n'est pas exportée. C'est une API spécifique au hardware. Nul part (sauf répertoire mm) cette API est utilisée (sauf peut-être pour quelques cas d'optimisations).
Si tu fais un drivers, un fs, tout sauf ce qui n'est pas lié à la vm, tu ne touches jamais à ça.
Donc, tu ne parles pas d'API mais d'implémentation de la vm. C'est différent.
Je n'y ai pas accès. Mais lis bien, c'est "A proposal for a major memory management rework". Ça ne conserne pas (mais je n'ai pas lu l'article) l'API qui est exporté.
[^] # Re: Il manque
Posté par fabb . En réponse à la dépêche Sortie du noyau 2.6.11. Évalué à 0.
> pgd = pgd_offset(mm, addr);
> ...
Qui doit faire/utiliser ça ?
Il n'y a que la partie du noyau qui gère la mémoire qui utilise ça (répertoire mm qui n'est pas lourd par rapport au reste).
C'est une API qui n'est pas exportée. C'est une API spécifique au hardware. Nul part (sauf répertoire mm) cette API est utilisée (sauf peut-être pour quelques cas d'optimisations).
Si tu fais un drivers, un fs, tout sauf ce qui n'est pas lié à la vm, tu ne touches jamais à ça.
Donc, tu ne parles pas d'API mais d'implémentation de la vm. C'est différent.
> Voir "A proposal for a major memory management rework" dans
http://lwn.net/Articles/124966(...)
Je n'y ai pas accès. Mais lis bien, c'est "A proposal for a major memory management rework". Ça ne conserne pas (mais je n'ai pas lu l'article) l'API qui est exporté.