Как рассчитать время работы функции Linux в ядре start_kernel?
Мне нужно выяснить, сколько времени занимают вызовы функций внутри функции start_kernel ядра Linux.
Почему это проблема, потому что ядро не загрузится, если я поставлю ktime_get()
вызов функции перед вызовом функции timekeeping_init() внутри этой же функции.
В моей настройке я думаю, что скорее всего ядро проводит много времени внутри mm_init()
, Но я не могу проверить из-за вышеупомянутой проблемы.
Есть идеи как обойти это?
Благодарю.
1 ответ
Решение
В начале загрузки не так много доступно. printk
должно работать, хотя.
Если вы используете x86, вы можете использовать rdtsc()
, В настоящее время работает только 1 процессор, поэтому обычные предупреждения о непонятных результатах пока не применяются.