Существует множество способов запланировать работу в ядре linux: таймеры, задачи, рабочие очереди и потоки ядра. Каковы рекомендации по использованию одного и другого?
Есть очевидные факторы: функции таймера и таблетки не могут спать, поэтому они не могут ждать мьютексов, переменных условий и т.д.
Каковы другие факторы при выборе того или иного механизма для нас в драйвере?
Каковы предпочтительные механизмы?