Je prévois de mesurer les compteurs PMU pour L1, L2, L3 manque manque de prédiction de branche, j'ai lu des documents Intel liés, mais je ne suis pas sûr du dessous scenarios.could quelqu'un s'il vous plaît préciser?PMU pour l'environnement multithread
//assume PMU reset and PERFEVTSELx configurtion done above
ioctl(fd, IOCTL_MSR_CMDS, (long long)msr_start) //PMU start counters
my_program();
ioctl(fd, IOCTL_MSR_CMDS, (long long)msr_stop) ///PMU stop
//now reading PMU counters
1.Quels se produira si mon processus est prévu lorsque mon_programme() est en cours d'exécution, et attribuées à un autre noyau?
2.Quel se passera si le processus prévu et le calendrier à revenir à même noyau à nouveau, en attendant un autre processus remis à zéro les compteurs PMU?
Comment faire en sorte que nous lisons les valeurs correctes de compteurs PMU.?
Détails de la machine: CentOS avec le noyau Linux 3.10.0-327.22.2.el7.x86_64, qui est alimenté avec Intel (R) Core (TM) i7-3770 CPU @ 3.40GHz
Merci
Vous vous rendez compte que 'perf' peut lire les compteurs de performance matérielle pour vous? – EOF
oui, je lis des documents perf. Il ne sera pas très utile pour mon application, il y a beaucoup de restrictions/dépendances Linux que nous ne voulons pas. –