Like commit c4f135d643823a86 ("workqueue: Wrap flush_workqueue() using a
macro") says, flush_scheduled_work() is dangerous and will be forbidden.
We are on the way for removing all flush_scheduled_work() callers from
the kernel, and there are only 4 callers remaining as of linux-20221104.
drivers/gpu/drm/i915/display/intel_display.c:8997: flush_scheduled_work();
drivers/gpu/drm/i915/gt/selftest_execlists.c:88: flush_scheduled_work();
drivers/md/dm.c:234: flush_scheduled_work();
drivers/message/fusion/mptscsih.c:1234: flush_scheduled_work();
I'm planning to start emitting runtime messages in linux-next.git tree.
On Sun, 06 Nov 2022, Tetsuo Handa <[email protected]> wrote:
> Like commit c4f135d643823a86 ("workqueue: Wrap flush_workqueue() using a
> macro") says, flush_scheduled_work() is dangerous and will be forbidden.
> We are on the way for removing all flush_scheduled_work() callers from
> the kernel, and there are only 4 callers remaining as of linux-20221104.
>
> drivers/gpu/drm/i915/display/intel_display.c:8997: flush_scheduled_work();
Thanks for the reminder, I've pinged folks to get someone working on
this. We do schedule quite a bunch of work, so it's not immediately
obvious (at least to me) what exactly needs flushing.
https://gitlab.freedesktop.org/drm/intel/-/issues/7546
> drivers/gpu/drm/i915/gt/selftest_execlists.c:88: flush_scheduled_work();
Removed by commit 7d33fd02dd94 ("drm/i915/selftests: Remove
flush_scheduled_work() from live_execlists") in drm-next.
BR,
Jani.
--
Jani Nikula, Intel Open Source Graphics Center
On Wed, Nov 16, 2022 at 12:08:27PM +0200, Jani Nikula wrote:
> On Sun, 06 Nov 2022, Tetsuo Handa <[email protected]> wrote:
> > Like commit c4f135d643823a86 ("workqueue: Wrap flush_workqueue() using a
> > macro") says, flush_scheduled_work() is dangerous and will be forbidden.
> > We are on the way for removing all flush_scheduled_work() callers from
> > the kernel, and there are only 4 callers remaining as of linux-20221104.
> >
> > drivers/gpu/drm/i915/display/intel_display.c:8997: flush_scheduled_work();
>
> Thanks for the reminder, I've pinged folks to get someone working on
> this. We do schedule quite a bunch of work, so it's not immediately
> obvious (at least to me) what exactly needs flushing.
Here's my earlier cursory analysis of the subject:
https://lore.kernel.org/intel-gfx/[email protected]/
>
> https://gitlab.freedesktop.org/drm/intel/-/issues/7546
>
> > drivers/gpu/drm/i915/gt/selftest_execlists.c:88: flush_scheduled_work();
>
> Removed by commit 7d33fd02dd94 ("drm/i915/selftests: Remove
> flush_scheduled_work() from live_execlists") in drm-next.
>
> BR,
> Jani.
>
> --
> Jani Nikula, Intel Open Source Graphics Center
--
Ville Syrj?l?
Intel
On 2022/11/16 22:06, Ville Syrjälä wrote:
> On Wed, Nov 16, 2022 at 12:08:27PM +0200, Jani Nikula wrote:
>> On Sun, 06 Nov 2022, Tetsuo Handa <[email protected]> wrote:
>>> Like commit c4f135d643823a86 ("workqueue: Wrap flush_workqueue() using a
>>> macro") says, flush_scheduled_work() is dangerous and will be forbidden.
>>> We are on the way for removing all flush_scheduled_work() callers from
>>> the kernel, and there are only 4 callers remaining as of linux-20221104.
>>>
>>> drivers/gpu/drm/i915/display/intel_display.c:8997: flush_scheduled_work();
>>
>> Thanks for the reminder, I've pinged folks to get someone working on
>> this. We do schedule quite a bunch of work, so it's not immediately
>> obvious (at least to me) what exactly needs flushing.
>
> Here's my earlier cursory analysis of the subject:
> https://lore.kernel.org/intel-gfx/[email protected]/
Now that a patch for mptscsih.c was proposed as
https://lkml.kernel.org/r/[email protected] ,
intel_display.c is going to become the last flush_scheduled_work() user.
If fixing the hpd disable path takes more time, should we start with moving
related works from system_wq to a local workqueue dedicated for intel_display.c ?
>
>>
>> https://gitlab.freedesktop.org/drm/intel/-/issues/7546
>>
>>> drivers/gpu/drm/i915/gt/selftest_execlists.c:88: flush_scheduled_work();
>>
>> Removed by commit 7d33fd02dd94 ("drm/i915/selftests: Remove
>> flush_scheduled_work() from live_execlists") in drm-next.
>>
>> BR,
>> Jani.
>>
>> --
>> Jani Nikula, Intel Open Source Graphics Center
>