public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: "Goel, Akash" <akash.goel@intel.com>
To: imre.deak@intel.com, Chris Wilson <chris@chris-wilson.co.uk>
Cc: intel-gfx@lists.freedesktop.org, akash.goel@intel.com
Subject: Re: [PATCH 19/19] drm/i915: Sync against the GuC log buffer flush work item on system suspend
Date: Thu, 18 Aug 2016 20:05:10 +0530	[thread overview]
Message-ID: <d028f181-9077-fe91-4fb2-58673df9b2bf@intel.com> (raw)
In-Reply-To: <1471529922.28391.33.camel@intel.com>



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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2016-08-18 14:35 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-17 10:14 [PATCH v7 00/19] Support for sustained capturing of GuC firmware logs akash.goel
2016-08-17 10:14 ` [PATCH 01/19] drm/i915: Decouple GuC log setup from verbosity parameter akash.goel
2016-08-17 10:14 ` [PATCH 02/19] drm/i915: Add GuC ukernel logging related fields to fw interface file akash.goel
2016-08-17 10:14 ` [PATCH 03/19] drm/i915: New structure to contain GuC logging related fields akash.goel
2016-08-17 10:14 ` [PATCH 04/19] drm/i915: Add low level set of routines for programming PM IER/IIR/IMR register set akash.goel
2016-08-17 10:14 ` [PATCH 05/19] drm/i915: Support for GuC interrupts akash.goel
2016-08-17 10:51   ` Tvrtko Ursulin
2016-08-17 10:14 ` [PATCH 06/19] drm/i915: Handle log buffer flush interrupt event from GuC akash.goel
2016-08-17 11:07   ` Tvrtko Ursulin
2016-08-17 11:24     ` Goel, Akash
2016-08-17 11:35       ` Tvrtko Ursulin
2016-08-17 13:19         ` Tvrtko Ursulin
2016-08-17 10:14 ` [PATCH 07/19] relay: Use per CPU constructs for the relay channel buffer pointers akash.goel
2016-08-17 10:14 ` [PATCH 08/19] drm/i915: Add a relay backed debugfs interface for capturing GuC logs akash.goel
2016-08-17 11:11   ` Tvrtko Ursulin
2016-08-17 10:14 ` [PATCH 09/19] drm/i915: New lock to serialize the Host2GuC actions akash.goel
2016-08-17 10:14 ` [PATCH 10/19] drm/i915: Add stats for GuC log buffer flush interrupts akash.goel
2016-08-17 10:14 ` [PATCH 11/19] drm/i915: Optimization to reduce the sampling time of GuC log buffer akash.goel
2016-08-17 10:14 ` [PATCH 12/19] drm/i915: Increase GuC log buffer size to reduce flush interrupts akash.goel
2016-08-17 10:14 ` [PATCH 13/19] drm/i915: Augment i915 error state to include the dump of GuC log buffer akash.goel
2016-08-17 10:14 ` [PATCH 14/19] drm/i915: Forcefully flush GuC log buffer on reset akash.goel
2016-08-17 11:16   ` Tvrtko Ursulin
2016-08-17 10:14 ` [PATCH 15/19] drm/i915: Debugfs support for GuC logging control akash.goel
2016-08-17 10:14 ` [PATCH 16/19] drm/i915: Use uncached(WC) mapping for acessing the GuC log buffer akash.goel
2016-08-17 10:14 ` [PATCH 17/19] drm/i915: Use SSE4.1 movntdqa based memcpy for sampling " akash.goel
2016-08-17 10:14 ` [PATCH 18/19] drm/i915: Early creation of relay channel for capturing boot time logs akash.goel
2016-08-17 10:14 ` [PATCH 19/19] drm/i915: Sync against the GuC log buffer flush work item on system suspend akash.goel
2016-08-17 11:27   ` Tvrtko Ursulin
2016-08-17 11:41     ` Chris Wilson
2016-08-17 12:45       ` Goel, Akash
2016-08-17 13:11         ` Imre Deak
2016-08-17 15:37           ` Goel, Akash
2016-08-18  3:45             ` Goel, Akash
2016-08-18 10:55               ` Imre Deak
2016-08-18 11:24                 ` Goel, Akash
2016-08-18 12:59                   ` Imre Deak
2016-08-18 13:47                     ` Goel, Akash
2016-08-18 14:18                       ` Imre Deak
2016-08-18 14:35                         ` Goel, Akash [this message]
2016-08-18 14:55                           ` Imre Deak
2016-08-18 15:01                             ` Goel, Akash
2016-08-17 10:29 ` ✗ Ro.CI.BAT: failure for Support for sustained capturing of GuC firmware logs (rev8) Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d028f181-9077-fe91-4fb2-58673df9b2bf@intel.com \
    --to=akash.goel@intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=imre.deak@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox