Я отобразил 1 tracing_on
в /sys/kernel/debug/tracing
каталоге и снова отобразил 0 через секунду. Однако временная метка первой записи 216.852
и последней записи дает 234.136
мне общий временной промежуток выполнения около 18 секунд. Как это возможно? И я пробовал это много раз на разных компьютерах; но получаю необычный временной промежуток. Я где-то ошибаюсь?
решение1
Не зная точной причины, я знаю, что Linux не является ОС реального времени, поэтому операции не гарантированно будут работать в заданное время. Кроме того, учитывая, что трассировка операций включения/выключения имеет довольно низкий приоритет, есть вероятность, что ядро ждет подходящего времени для выполнения вашего запроса, и это задержка, которую вы испытываете.
Если операцияасинхронный, то при записи в файл команда записи немедленно вернется, сохранив запрос в ядре, но ядро прочитает изменение и отреагирует на него некоторое время спустя.