Re: [PATCH rfc] workqueue: honour cond_resched() more effectively.

From: tj@xxxxxxxxxx
Date: Wed Nov 25 2020 - 07:36:56 EST


Hello,

On Fri, Nov 20, 2020 at 10:23:44AM +1100, NeilBrown wrote:
> On Mon, Nov 09 2020, tj@xxxxxxxxxx wrote:
>
> > Given that nothing on
> > these types of workqueues can be latency sensitive
>
> This caught my eye and it seems worth drilling in to. There is no
> mention of "latency" in workqueue.rst or workqueue.h. But you seem to
> be saying there is an undocumented assumption that latency-sensitive
> work items much not be scheduled on CM-workqueues.
> Is that correct?

Yeah, correct. Because they're all sharing execution concurrency, the
latency consistency is likely a lot worse.

> NFS writes are latency sensitive to a degree as increased latency per
> request will hurt overall throughput. Does this mean that handling
> write-completion in a CM-wq is a poor choice?
> Would it be better to us WQ_HIGHPRI?? Is there any rule-of-thumb that
> can be used to determine when WQ_HIGHPRI is appropriate?

I don't think it'd need HIGHPRI but UNBOUND or CPU_INTENSIVE would make
sense. I think the rule of the thumb is along the line of if you're worried
about cpu consumption or latency, let the scheduler take care of it (ie. use
unbound workqueues).

Thanks.

--
tejun