вместо ответа. Я ищу идею здесь.Планирование латентности обработчиков датчиков Android
Я хотел бы измерить задержку планирования выборки сенсоров в Android. В частности, я хочу измерить время от запроса прерывания датчика до того, как будет выполнена нижняя половина, которая отвечает за чтение данных.
Нижняя половина уже имеет, помимо данных, прочитанную инструкцию по установлению даты. На самом деле образцы собираются приложениями (являющимися java или native, без разницы) в качестве кортежа [измерение, временная метка]. Временная метка следует за источником тактовых импульсов clock_gettime(CLOCK_MONOTONIC, &t);
Итак, предполагая, что нижняя половина не выгружена, как-то эта временная метка дает указание на мгновение планирования задачи. Отсутствует прямой или косвенный способ узнать его соответствующий irq-момент.
Безопасно предположить, что мы можем запросить любую частоту дискретизации для датчика. Каркас драйвера заключается в следующем (S3 гироскоп Галактики)
err = request_threaded_irq(data->client->irq, NULL,
lsm330dlc_gyro_interrupt_thread\
, IRQF_TRIGGER_RISING | IRQF_ONESHOT,\
"lsm330dlc_gyro", data);
static irqreturn_t lsm330dlc_gyro_interrupt_thread(int irq\
, void *lsm330dlc_gyro_data_p) {
...
struct lsm330dlc_gyro_data *data = lsm330dlc_gyro_data_p;
...
res = lsm330dlc_gyro_read_values(data->client,
&data->xyz_data, data->entries);
...
input_report_rel(data->input_dev, REL_RX, gyro_adjusted[0]);
input_report_rel(data->input_dev, REL_RY, gyro_adjusted[1]);
input_report_rel(data->input_dev, REL_RZ, gyro_adjusted[2]);
input_sync(data->input_dev);
...
}
основным сдерживающим фактором является то, что мне нужно (ну, у меня только есть достаточно ресурсов для) выполнить это измерение из пользовательского пространства, на коммерческом устройстве, без касаются и перекомпилируют ядро. Надеемся, что с точностью до эксперимента будет ограниченный mpact. Я не знаю, возможен ли такой эксперимент с этим ограничением, и до сих пор я не мог найти разумного метода.
Я мог бы также перекомпилировать ядро, если эксперимент станет простым.
Спасибо.
Хотели бы вы открыть телефон? Если да, тогда вы всегда можете исследовать гироскоп irq pin на осциллографе? ... – TheCodeArtist