Несколько очередей и рабочих очередей - PullRequest
0 голосов
/ 02 августа 2010

Я изучаю рабочие очереди для кодирования нижних половин ядра Linux.Интересно: если обработчик прерываний выполняется два раза (таким образом, вызывая schedule_work два раза), то обработчик рабочей очереди вызывается один или два раза?

1 Ответ

1 голос
/ 03 августа 2010

Похоже, ваш ответ в комментарии к функции.

/**
 * schedule_work - put work task in global workqueue
 * @work: job to be done
 *
 * Returns zero if @work was already on the kernel-global workqueue and
 * non-zero otherwise.
 *
 * This puts a job in the kernel-global workqueue if it was not already
 * queued and leaves it in the same position on the kernel-global
 * workqueue otherwise.
 */
int schedule_work(struct work_struct *work)
{
        return queue_work(keventd_wq, work);
}
...