On 2016/04/15 0:14, Petr Mladek wrote: > This patch converts hungtaskd() in kthread worker API because > it modifies the priority. > > This patch moves one iteration of the main cycle into a self-queuing > delayed kthread work. It does not longer check if it was called > earlier. Instead, the work is scheduled only when needed. This > requires storing the time of the last check into a global > variable. Is it guaranteed that that work is fired when timeout expires? It is common that tasks sleep in uninterruptible state due to waiting for memory allocations. Unless a dedicated worker like vmstat_wq is used for watchdog, I think it might fail to report such tasks due to all workers being busy but the system is under OOM. vmstat_wq = alloc_workqueue("vmstat", WQ_FREEZABLE|WQ_MEM_RECLAIM, 0); -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>