По-видимому, эта проблема не имеет никакого отношения к Android. Мы протестировали с нашей пользовательской версией Linux, и у нас есть все еще та же проблема: FTrace производит точность миллисекунд, в то время как другие инструменты могут произвести точность микросекунд. Возможно, проблема версии модуля FTrace?
С уважением,
По умолчанию ftrace использует то, что использует код «sched _clock ()». Но вы можете изменить часы ftrace в файле часов /sys/kernel/tracing/trace _. На x86 у меня:
# cat /sys/kernel/tracing/trace_clock
[local] global counter uptime perf mono mono_raw boot x86-tsc
"Местные" часы эквивалентны запланированным _часам (). Но я могу выбрать другие часы, повторяя их. Если бы я хотел x86 -tsc в качестве часов, я бы сделал:
# echo x86-tsc > /sys/kernel/tracing/trace_clock
Код архитектуры может добавить новые часы, определив ARCH _TRACE _CLOCKS. Посмотрите, как был создан x86 -tsc, в arch/x86/include/asm/trace _clock.h.