On Fri, 21 May 2021 at 11:37, Hillf Danton hdanton@sina.com wrote:
On Fri, 21 May 2021 10:32:09 +0200 Marco Elver wrote:
Since wait_event() uses TASK_UNINTERRUPTIBLE by default, waiting for an allocation counts towards load. However, for KFENCE, this does not make any sense, since there is no busy work we're awaiting.
Because of a blocking wq callback, kfence_timer should be queued on a unbound workqueue in the first place. Feel free to add a followup to replace system_power_efficient_wq with system_unbound_wq if it makes sense to you that kfence behaves as correctly as expected independent of CONFIG_WQ_POWER_EFFICIENT_DEFAULT given "system_power_efficient_wq is identical to system_wq if 'wq_power_efficient' is disabled."
Thanks for pointing it out -- I think this makes sense, let's just use the unbound wq unconditionally. Since it's independent of this patch, I've sent it separately: https://lkml.kernel.org/r/20210521111630.472579-1-elver@google.com
linux-stable-mirror@lists.linaro.org