From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: [PATCH 3/4] drm/i915: Declare waits on GPU as io waits, to reduce C-state reduction. Date: Mon, 1 Nov 2010 13:23:43 -0700 Message-ID: <1288643024-5706-4-git-send-email-eric@anholt.net> References: <1288643024-5706-1-git-send-email-eric@anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1288643024-5706-1-git-send-email-eric@anholt.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Because of this, the C-state governor will consider our process "performance critical" and avoid dropping CPU power during these temporary sleeps. There are two benefits of this: We don't lose our cache contents (whose value is not well reflected in the metrics of the governor), and also don't reduce memory bandwidth, which can reduce GPU performance and increase the time we wait! Signed-off-by: Eric Anholt --- drivers/gpu/drm/i915/i915_gem.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 8eb8453..8991588 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -1988,12 +1988,12 @@ i915_do_wait_request(struct drm_device *dev, uint32_t seqno, ring->waiting_gem_seqno = seqno; ring->user_irq_get(dev, ring); if (interruptible) - ret = wait_event_interruptible(ring->irq_queue, + ret = io_wait_event_interruptible(ring->irq_queue, i915_seqno_passed( ring->get_seqno(dev, ring), seqno) || atomic_read(&dev_priv->mm.wedged)); else - wait_event(ring->irq_queue, + io_wait_event(ring->irq_queue, i915_seqno_passed( ring->get_seqno(dev, ring), seqno) || atomic_read(&dev_priv->mm.wedged)); -- 1.7.2.3