Re: [RFC][PATCH 03/10] workqueue: It is likely that WORKER_NOT_RUNNING is true

Tejun Heo
2010-12-07T09:49:52Z

Hello, Steven.

On 12/07/2010 02:58 AM, Steven Rostedt wrote:
> In worker_thread() we have:
>
> worker_clr_flags(worker, WORKER_PREP);
>
> [ do work stuff ]
>
> worker_set_flags(worker, WORKER_PREP, false);
>
> (that 'false' means not to wake up an idle worker)
>
> The wq_worker_sleeping() is called from schedule when a worker thread
> is putting itself to sleep. Which happens most of the time outside
> of that [ do work stuff ].

Yeah, I was lost thinking about the busiest case where workers are
busy processing works consecutively. Usually workers are of course
switching in and out of idle state all the time.

How about just dropping likely/unlikely?

Thanks.

--
tejun