Je travaille sur la fonctionnalité d'enregistrement-relecture multiprocesseur d'une machine virtuelle.
J'ai un journal des accès mémoire non déterministes effectués dans la machine virtuelle par des processeurs virtuels.
Une très forte proportion de ces points à la mémoire de l'espace du noyau, c'est-à-dire au-dessus de 0Xc0000000.
Par exemple, voici une liste des 10 adresses de mémoire du noyau les plus consultées après l'exécution du benchmark SPLASH dans la machine virtuelle
0xfffb5000
0xc1779db0
0xc18b6910
0xc1771a44
0xc1771a40
0xc1779e00
0xc18b67e0
0xc18b693c
0xc18b67f0
0xfffa1000
Je veux savoir s'il existe un moyen de trouver exactement ce qu'il y a dans ces adresses mémoire… est-ce la pile du noyau, la page vsyscall, la liste prête du planificateur…
Pour que je puisse ensuite penser à un moyen de résoudre cette surcharge pour accélérer la relecture des enregistrements….
Des conseils pour savoir où chercher dans le code du noyau sont les bienvenus
Merci
Réponse acceptée :
Sur une machine physique, je regarderais /boot/System.map* (quel que soit le nom de ce fichier dans votre distribution).
Je suppose que la même chose est vraie dans une machine virtuelle KVM.