From patchwork Wed Dec 7 13:58:28 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Wilson X-Patchwork-Id: 9464557 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 931E860459 for ; Wed, 7 Dec 2016 13:59:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B5F00204C2 for ; Wed, 7 Dec 2016 13:59:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id AACF327C0C; Wed, 7 Dec 2016 13:59:27 +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]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 4FFDA204C2 for ; Wed, 7 Dec 2016 13:59:27 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 952BF6E598; Wed, 7 Dec 2016 13:59:16 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-wj0-x242.google.com (mail-wj0-x242.google.com [IPv6:2a00:1450:400c:c01::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id D27B36E5A1 for ; Wed, 7 Dec 2016 13:58:47 +0000 (UTC) Received: by mail-wj0-x242.google.com with SMTP id kp2so50042354wjc.0 for ; Wed, 07 Dec 2016 05:58:47 -0800 (PST) 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=ssUPSYO5X+dN0s5bhTGCiYYK6ubm8hsh/g2J3KcqFqY=; b=IHO75jRP90sCTpq4SmGA+kxiuQEXmd1MwlGQhW+dfvTS3T3lwJo+c0FHmoHMU65zDy 9kGct9dZy0SP+U5md22q9zCOhmNQcWWp2UtdyxX69AqMbsmhhwzK7ogZPkRtd1JxNjdy rozf/Vs2lsx2vIfCXsMSm5Us9RCt8fa++LRPx00z5mTw1f2ac5fUN1kxYprpGEYAl1Wz KODBzIz6poDsbJXKJycR5V0XWkWI5RimYzFDr5qDzTYSOBweEGrTtLrbIYLhh9y3Cz4L NjSO7dSWRzQ4B9AYvWASi3Px5jMVsZFozam+yg+KWjMROXJjC7xFrpVsi6cbHJByI8/7 Zyag== 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=ssUPSYO5X+dN0s5bhTGCiYYK6ubm8hsh/g2J3KcqFqY=; b=gFJT21WP8Poenhl8rj+clxvqErjOca7PDLIc4BHF374+LPpqII8gI5cNBrrJN+jb7B ZAjQEsXmpjGoqRo99+xw6scC88stZUV7/Kmm/qQak7RbvapfG0tplB/GXazkyXOzxMX9 BxYsWqoi28oYrtStze1YquL8ad+hBuff2rZZTjlfOMgrh6E+VRkwfWyYcR814XfguHb1 l2QTXwn6bhhusCbtjvFM2yPzlo49ERmJeDitdclRc5ax8qvKsbyL7S2ipOiHrULTa1RI 1cqp37c7WdCT626fDwd23/obW/XcQCYHQeSeZoEWbUGOUUnUyipeIZWXusvCaJ79vbD2 8JgA== X-Gm-Message-State: AKaTC01fkYEb+9jp6wbFHeVf0wIdngl5rY9NbQEDeYWHHXEjDfO1Ah/PyFP5uel8AeAOKA== X-Received: by 10.194.96.135 with SMTP id ds7mr60137310wjb.29.1481119126152; Wed, 07 Dec 2016 05:58:46 -0800 (PST) Received: from haswell.alporthouse.com ([78.156.65.138]) by smtp.gmail.com with ESMTPSA id d85sm9812367wmd.17.2016.12.07.05.58.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Dec 2016 05:58:45 -0800 (PST) From: Chris Wilson To: intel-gfx@lists.freedesktop.org Date: Wed, 7 Dec 2016 13:58:28 +0000 Message-Id: <20161207135833.32740-12-chris@chris-wilson.co.uk> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20161207135833.32740-1-chris@chris-wilson.co.uk> References: <20161207135833.32740-1-chris@chris-wilson.co.uk> Subject: [Intel-gfx] [PATCH 11/16] drm/i915/execlists: Request the kernel context be pinned high 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 PIN_HIGH is an expensive operation (in comparison to allocating from the hole stack) unsuitable for frequent use (such as switching between contexts). However, the kernel context should be pinned just once for the lifetime of the driver, and here it is appropriate to keep it out of the mappable range (in order to maximise mappable space for users). Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/intel_lrc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c index 58cea1f9ad27..22ded92d0346 100644 --- a/drivers/gpu/drm/i915/intel_lrc.c +++ b/drivers/gpu/drm/i915/intel_lrc.c @@ -767,6 +767,7 @@ static int execlists_context_pin(struct intel_engine_cs *engine, struct i915_gem_context *ctx) { struct intel_context *ce = &ctx->engine[engine->id]; + unsigned int flags; void *vaddr; int ret; @@ -781,8 +782,11 @@ static int execlists_context_pin(struct intel_engine_cs *engine, goto err; } - ret = i915_vma_pin(ce->state, 0, GEN8_LR_CONTEXT_ALIGN, - PIN_OFFSET_BIAS | GUC_WOPCM_TOP | PIN_GLOBAL); + flags = PIN_OFFSET_BIAS | GUC_WOPCM_TOP | PIN_GLOBAL; + if (ctx == ctx->i915->kernel_context) + flags |= PIN_HIGH; + + ret = i915_vma_pin(ce->state, 0, GEN8_LR_CONTEXT_ALIGN, flags); if (ret) goto err;