public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: John Harrison <John.C.Harrison@Intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] RFC drm/i915: Slaughter the thundering i915_wait_request herd
Date: Fri, 27 Nov 2015 15:23:02 +0000	[thread overview]
Message-ID: <56587556.1060207@Intel.com> (raw)
In-Reply-To: <20151127141059.GF31982@nuc-i3427.alporthouse.com>

On 27/11/2015 14:10, Chris Wilson wrote:
> On Fri, Nov 27, 2015 at 01:53:34PM +0000, Tvrtko Ursulin wrote:
>> P.S. And just realised this work is competing with the scheduler
>> which changes all this again.
> On the other hand, there are regressions to be solved before more
> features.
> -Chris
>

Had a quick discussion with Tvrtko about this. It sounds like this 
change will cause lots of problems for the scheduler work. Specifically, 
seqnos only get allocated when requests are actually sent to the 
hardware and if a request is pre-empted and kicked off the hardware then 
it's seqno will be reset to zero before being re-allocated when the 
request is resubmitted. This bouncing of seqnos will cause major 
problems for the tree structure?

However, the struct fence conversion patches could potentially solve the 
whole problem in a simpler manner. The fence conversion would allow the 
wait_request function to simply register a callback on the fence and 
then only be woken up when that specific fence is signaled. The 
signalling code already tracks exactly which requests are running on the 
hardware, currently as a list but it should be easy enough to convert to 
the tree structure as per this patch. There is only one place that wakes 
up and processes the to-be-signaled list which would then run the 
callback only for those requests that have actually completed. Hence no 
thundering herd of wakeups.

John.

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

      reply	other threads:[~2015-11-27 15:23 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-31 10:34 [PATCH] RFC drm/i915: Slaughter the thundering i915_wait_request herd Chris Wilson
2015-11-02  5:39 ` Gong, Zhipeng
2015-11-02  9:53   ` Chris Wilson
2015-11-02 10:40     ` Rogozhkin, Dmitry V
2015-11-02  9:59   ` Chris Wilson
2015-11-02 11:26     ` Gong, Zhipeng
2015-11-02 11:41       ` Chris Wilson
2015-11-02 14:00         ` Gong, Zhipeng
2015-11-02 14:15           ` Chris Wilson
2015-11-02 14:57             ` Gong, Zhipeng
2015-11-02 15:28               ` Chris Wilson
2015-11-02 20:58                 ` Chris Wilson
2015-11-03  3:06                   ` Gong, Zhipeng
2015-11-03 10:03                     ` Chris Wilson
2015-11-03 12:49                       ` Chris Wilson
2015-11-03 13:31                       ` Gong, Zhipeng
2015-11-03 14:02                         ` Chris Wilson
2015-11-04  6:19                           ` Gong, Zhipeng
2015-11-04  9:53                             ` Chris Wilson
2015-11-04 13:20                               ` Gong, Zhipeng
2015-11-04 14:48                                 ` Chris Wilson
2015-11-19 14:17                                   ` Rogozhkin, Dmitry V
2015-11-27 12:11 ` Tvrtko Ursulin
2015-11-27 13:01   ` Chris Wilson
2015-11-27 13:51     ` Chris Wilson
2015-11-27 13:53     ` Tvrtko Ursulin
2015-11-27 14:10       ` Chris Wilson
2015-11-27 15:23         ` John Harrison [this message]

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=56587556.1060207@Intel.com \
    --to=john.c.harrison@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