From patchwork Wed May 25 11:48:53 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Wilson X-Patchwork-Id: 9135223 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 899C76075C for ; Wed, 25 May 2016 11:49:35 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7C37F282BB for ; Wed, 25 May 2016 11:49:35 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7123E282D8; Wed, 25 May 2016 11:49:35 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 39258282BB for ; Wed, 25 May 2016 11:49:35 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 57D496E8DD; Wed, 25 May 2016 11:49:32 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id EA7E16E328 for ; Wed, 25 May 2016 11:49:09 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id f75so14606239wmf.2 for ; Wed, 25 May 2016 04:49:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=ybCRgG4pnpTZhmJ0JljBoDwN72zUnPjDHjSaFuaO8aM=; b=d1A776PAmPJnDq8PSlix7q7DEIyCcK28b9CypGnv95QqpD8/zqg4l25cH6WswDLfCp TqeYavpeK+f+egcbvVN90mGArEzPm++5ZoEFlZXuwD8yqYW38oFWtRizSDpbwUqz2PGO A8V2Nw83orQ6iKV7xzDEMukgMvov5qUtOGbU/lLUCbvZdT4uT2Mj49I1tyvaRvMnSbmJ haqMQeDRXPNki0lrU5pIimfQGrWlaghfdOPqc2hLsA6l30Hufl/wPTWBujX7NKJJNEra Bk6TqOU62WwbR+uUEylVXyrVdNBQ8Sxj1QAYucDrNnoQBSst79hIQWUySK3OqhvsOJLT j9WQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=ybCRgG4pnpTZhmJ0JljBoDwN72zUnPjDHjSaFuaO8aM=; b=TyQPmJ+kugZJdC/gGqh0S64HuFNXzbPdT6xoYnNk6Moip83hPR4qcI0P1StXI2+CBw xpEnlhW2XFKYGgXRR/phq8cuShDdDr2n7HEecYnZ4CgCCtxaAHTPGk7g4rpEINscVbgz pvyz83jO+r1RDO6hVPF4Osy+F9Cb+xzZJfZhywsM7bbPyEfo1qsmTXmzFxCWnNomJeKN j8wpon5z9ABByuLtkERBen5NMnqY/v9fmpl9IgNjOGtyDYQzVJvRS/ty0IWk60Ct6MDv rxBsHevsP2ShNHOh3Syj3dXtkp2p8F2YIiWl/2uPY746OzYjh1Qo4AzqBDbPgakzCsk4 9wRQ== X-Gm-Message-State: ALyK8tJAJAa8vUPgpL79X4ACPKClXegYzzpOBVULhCNZvZrrlegaoa6VMTZQUJbWOxzXqg== X-Received: by 10.28.12.8 with SMTP id 8mr3140882wmm.6.1464176948210; Wed, 25 May 2016 04:49:08 -0700 (PDT) Received: from haswell.alporthouse.com ([78.156.65.138]) by smtp.gmail.com with ESMTPSA id n15sm8398666wjr.1.2016.05.25.04.49.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 May 2016 04:49:07 -0700 (PDT) From: Chris Wilson To: intel-gfx@lists.freedesktop.org Date: Wed, 25 May 2016 12:48:53 +0100 Message-Id: <1464176933-31067-7-git-send-email-chris@chris-wilson.co.uk> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1464176933-31067-1-git-send-email-chris@chris-wilson.co.uk> References: <1464176933-31067-1-git-send-email-chris@chris-wilson.co.uk> Cc: Mika Kuoppala Subject: [Intel-gfx] [PATCH 6/6] drm/i915: Only switch to default context when evicting from GGTT X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP The contexts only pin space within the global GTT. Therefore forcing the switch to the perma-pinned kernel context only has an effect when trying to evict from and find room within the global GTT. We can then restrict the switch to only when operating on the default context. This is mostly a no-op as full-ppgtt only exists with execlists at present which skips the context switch anyway. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem_evict.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c index 5741b58d186c..3c1280ec7ff6 100644 --- a/drivers/gpu/drm/i915/i915_gem_evict.c +++ b/drivers/gpu/drm/i915/i915_gem_evict.c @@ -183,9 +183,11 @@ none: if (pass++ == 0) { struct drm_i915_private *dev_priv = to_i915(dev); - ret = switch_to_pinned_context(dev_priv); - if (ret) - return ret; + if (i915_is_ggtt(vm)) { + ret = switch_to_pinned_context(dev_priv); + if (ret) + return ret; + } ret = i915_gem_wait_for_idle(dev_priv); if (ret) @@ -300,9 +302,11 @@ int i915_gem_evict_vm(struct i915_address_space *vm, bool do_idle) if (do_idle) { struct drm_i915_private *dev_priv = to_i915(vm->dev); - ret = switch_to_pinned_context(dev_priv); - if (ret) - return ret; + if (i915_is_ggtt(vm)) { + ret = switch_to_pinned_context(dev_priv); + if (ret) + return ret; + } ret = i915_gem_wait_for_idle(dev_priv); if (ret)