Измерения времени в подпрограмме ядра Linux - PullRequest
4 голосов
/ 29 января 2010

Я добавил дополнительный код в ядро ​​Linux (планировщик) и теперь я хотел бы знать, каково влияние этой модификации.

Для пользовательских процессов я всегда использовал:

clock_gettime(CLOCK_PROCESS_CPUTIME_ID, ...);

Теперь мне интересно, есть ли в ядре эквивалентная процедура, которую я мог бы использовать, чтобы сделать что-то подобное.

Большое спасибо за вашу помощь, Martin

Ответы [ 2 ]

4 голосов
/ 29 января 2010

Взгляните на ftrace. Latencytop основан на этом. На lwn есть хорошие статьи ( здесь , здесь и здесь )

Измерение производительности планировщика очень сложно, так что удачи:)

2 голосов
/ 25 февраля 2010

unsigned long long native_sched_clock(void); от asm/timer.h для x86

unsigned long long sched_clock(void); от linux/sched.h для любой арки

Это обертки вокруг rdtsc - считыватель тиковых счетчиков.

обн.

есть также linux/clocksource.h

timecounter_init - initialize a time counter
timecounter_read - return nanoseconds elapsed since timecounter_init()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...