Я использую приведенный ниже код для ожидания прерывания и чтения данных. Этот код работает нормально, но он использует 100 % процессора.
Как использовать семафор, чтобы избежать 100% загрузки процессора?
static irqreturn_t tsc_irq_handler(int irq,void *dev_id)
{
write_pointer= *TSF_CBWPR;
read_pointer = *TSF_CBRPR;
flag = 1;
return IRQ_HANDLED;
}
int thread_fn(void *unused)
{
while (!kthread_should_stop())
{
while(!flag){};
flag=0;
//do some code, like write to file.
}
return 0;
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... nux-kernel
Как использовать семафор вместо этого кода (ожидание с активным циклом) ядра Linux? ⇐ Linux
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Есть ли какое -либо влияние положить семафор внутрь замка вместо его вне его? [закрыто]
Anonymous » » в форуме C# - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-
-
-
При попытке использовать семафор выполняется только один из моих потоков [закрыто]
Anonymous » » в форуме JAVA - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-