我正在尝试掌握有关linux中定时器功能的话题,并且遇到了一个问题:在定时器功能中应该和不应该执行什么?
我在linux设备驱动程序手册中阅读了一些有关计时器的内容,它说: 计时器功能必须是原子的。 不可进行睡眠或调度。 不允许访问用户空间。
使用这些规则,计时器功能中不允许哪个动作? -从到目前为止我掌握的内容来看,不应在计时器函数中使用spi_sync,wake_up_interruptable和msleep,对吗?因为它们处于原子环境中。
gpio_get_value();
spi_sync();
wake_up_interruptable();
int val = 10;
msleep();
我很高兴有人可以解释计时器功能中的DO和DON´T是什么?