Как использовать семафор вместо этого кода (ожидание с активным циклом) ядра Linux?Linux

Ответить Пред. темаСлед. тема
Anonymous
 Как использовать семафор вместо этого кода (ожидание с активным циклом) ядра Linux?

Сообщение Anonymous »

Я использую приведенный ниже код для ожидания прерывания и чтения данных. Этот код работает нормально, но он использует 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»