lkml.org 
[lkml]   [2018]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: 答复: Re: [RFC PATCH V5 5/5] workqueue: introduce a way to setworkqueue's scheduler
From
Date
On Mon, 2018-01-29 at 13:50 +0800, wen.yang99@zte.com.cn wrote:
>
> > What happens when a new kworker needs to be spawned?
> create_worker -> worker_attach_to_pool, in the function
> worker_attach_to_pool,  we add this chunk:
>
> --- a/kernel/workqueue.c
> +++ b/kernel/workqueue.c
> @@ -1699,6 +1699,7 @@ static void worker_attach_to_pool(struct worker *worker,
>          * online CPUs.  It'll be re-applied when any of the CPUs come up.
>          */
>         set_cpus_allowed_ptr(worker->task, pool->attrs->cpumask);
> +       sched_setattr(worker->task, &pool->attrs->sched_attr);
>  
>         /*
>          * The pool->attach_mutex ensures %POOL_DISASSOCIATED remains
>  
> pool->attach_mutex may guarante it, add  sched_setattr may apply the
> wq's sched_attr to the spawned kworer.

That doesn't help kthreadd get to a CPU in a box being saturated by RT.

As long as you are careful, it's not a problem, I just mentioned it
because it's a hole.

-Mike

\
 
 \ /
  Last update: 2018-01-29 07:33    [W:0.034 / U:1.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site