Re: [PATCH 19/19] drm/i915: Sync against the GuC log buffer flush work item on system suspend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 8/18/2016 7:48 PM, Imre Deak wrote:
On to, 2016-08-18 at 19:17 +0530, Goel, Akash wrote:
[...]
Thanks for the inputs. Sorry not familiar with freezable WQ semantics.
But after looking at code, this is what I understood :-
1. freezable Workqueues will be frozen before the system suspend
    callbacks are invoked for the devices.

Yes.

2. Any work item queued after the WQ is marked frozen will be scheduled
    later, on resume.

Yes.

3. But if a work item was already present in the freezable Workqueue,
    before it was frozen and it did not complete, then system suspend
    itself will be aborted.

System suspend will be aborted only if any kernel thread didn't
complete within a reasonable amount of time (freeze_timeout_msecs, 20
sec by default). Otherwise already queued items will be properly
waited upon and suspend will proceed.
Sorry for getting this wrong.
What I understood is that even if there are pending work items on
freezable WQ after freeze_timeout_msecs, then also system suspend would be performed. Sorry couldn't find an explicit/synchronous wait in kernel for the pending work items for freezable WQs, but it doesn't matter.


4. So if the log.flush_wq is marked as freezable, then flush of
    work item will not be required for the system suspend case.
    And runtime suspend case is already covered with rpm get/put
    around register access in work item function.

Yes.


It seems there are 2 config options CONFIG_SUSPEND_FREEZER

This is set whenever system suspend is enabled.

and
CONFIG_FREEZER

This is set except for one platform (powerpc), where I assume freezing
of the tasks is achieved in a different way. In any case it doesn't
matter for us.

Many thanks for providing all this info.

Will then mark the log.flush_wq as freezable.

Best regards
Akash
--Imre

which have to be enabled for all the above to happen.
If these config options will always be enabled then probably marking
log.flush_wq would work.

Please kindly confirm whether I understood correctly or not, accordingly
will proceed further.

Best regards
Akash



--Imre

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux