Re: [RFC PATCH v4 05/13] workqueue, ktask: renice helper threads to prevent starvation

From: Daniel Jordan
Date: Tue Nov 20 2018 - 12:04:14 EST


On Tue, Nov 20, 2018 at 08:33:19AM -0800, Tejun Heo wrote:
> On Mon, Nov 19, 2018 at 08:45:54AM -0800, Daniel Jordan wrote:
> > So instead of flush_work_at_nice, how about this?:
> >
> > void renice_work_sync(work_struct *work, long nice);
>
> Wouldn't renice_or_cancel make more sense?

I guess you mean, for renicing if the work is started and canceling if it
hasn't?

Then yes, it would in this case, since if a ktask work hasn't start, there's no
point in running it--there are no more chunks for it to work on.

Was attempting to generalize for other cases when the work did need to be run,
but designing for the future can be dicey, and I'm fine either way. So absent
other opinions, I'll do renice_or_cancel.