Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/07/2011, 16h17   #1
Invité de passage
 
Inscription : décembre 2008
Messages : 3
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 3
Points : 4
Points : 4
Par défaut [kernel] compteurs de performances

Bonjour,

Je cherche à lire les compteurs de performances pour un module externe. Pour cela j'ai trouvé les fonctions :
extern struct perf_event *perf_event_create_kernel_counter(struct perf_event_attr *attr, int cpu, struct task_struct *task, perf_overflow_handler_t callback);
et
extern u64 perf_event_read_value(struct perf_event *event, u64 *enabled, u64 *running);
dans ./include/linux/perf_event.h. Le problème c'est que les valeurs que je récupère avec perf_event_read_value sont (à priori) erronées...

J'ai récupéré un programme qui lit les registres en espace utilisateur et les valeurs ne sont pas les mêmes...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
static void perf_counter(unsigned int cpu){
	struct perf_event_attr attr = {
		.type = PERF_TYPE_SOFTWARE,
		.config = PERF_COUNT_SW_CPU_CLOCK
	};
	u64 total=0, enabled=0, running=0;
 
	struct perf_event *evt = perf_event_create_kernel_counter(&attr, cpu, NULL, f_overflow);
	total = perf_event_read_value(evt, &enabled, &running);
 
	printk(KERN_INFO "cpufreq(%u): governor Govtest perf : %llu %llu %llu", cpu, total, 
		   enabled, running);
}
Dans cette exemple le module m'affiche des valeurs entre 300 et 700, total est toujours inférieurs à enabled et running. A chaque test enabled et running sont égaux.
Normalement je devrais avoir une valeur proche de 1 000 000 000. Enfin quand je dis proche, c'est à 100 000-200 000 près.

merci d'avance pour votre aide !
ternis est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h26.


 
 
 
 
Partenaires

Hébergement Web