Re: [PATCH v6 13/20] hung_task: Convert hungtaskd into kthread worker API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu 2016-05-26 06:56:38, Tetsuo Handa wrote:
> 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);

We are on the safe side. You might be confused because the kthread
worker API has similar semantic like workqueues (using workers and
works).  The main difference is that each kthread worker has its
own dedicated kthread. There are no pools, no dynamic assignment,
and no further allocations needed.

Thanks a lot for looking at it.

Best Regards,
Petr

--
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>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]