Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp1355729imm; Tue, 2 Oct 2018 07:01:54 -0700 (PDT) X-Google-Smtp-Source: ACcGV61TZW0jgScpa2FbI++gpnMNNcxeBRGm7GN5827vAsDLrmbvs95d+KKjgGrUyF27a72/Y/Ii X-Received: by 2002:a17:902:124:: with SMTP id 33-v6mr9042484plb.205.1538488914926; Tue, 02 Oct 2018 07:01:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538488914; cv=none; d=google.com; s=arc-20160816; b=zJ1apVX33xoOOqueAjl12kVRJfXsxbfIu5TBQzPm07BrsPj5wxEfIH1sQ2lDGPsRta P6nEIZ3RooOa6qPR4i0Kh85s3dIKvAc8PAwmGykyShBHAZkpFvaM6tk79VTs9p/kHgrm 8QVwRbYdOSQeB2c9ORbTitMoYJBFM2fKlvR810AEpM4kxmdngXIhxLLRNXg0KyS1rT4f Z9XnmdHWNJoAwNhz4yGVBQGQzGq50fhcw9L+8KCAkZFpclf54bOQuIwVvfTBT9p9JQny LmMzpeK70M+uTR2wrc/lwFaFkepIMwm/WoaJ91qAPeVzXFUDmnulDIEBNy4CE07hyZgm UMxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from; bh=3surYNLjaxLxsmruBxye6mKJQrHtJ9FzIvQGBXT9AIk=; b=pHfaUC2ivvJ5nx/LlwRXF/qEBXwmwIHEen/Tp1HX9vrQpMxXEfiIVZoeZAh6zqf/bZ R/Dpy0lOZs/Nla/82Y+T5QWt1p0plPMCTfdMvTgfDKKYea+ID7/SjH1CVstylQ+yi4Oj 8Hrzzuo+kCL/b+KkVqSlEESmPv8F/j49YxdlxM3FkUWhlg0jRtROFoGM0zpjaELqiUKy 4uicFPTCNo8UzrtQqHQRQwVCAGfvOPIDAjwD36Mrj/lQGSxwerSDEylES3dk4ZhBizeJ VRPPAymGrGotojPyHNYWjg2Bw77oytcLgcXxF4WdCDaD//wjmeVfYhcB93HuKbxseBfW gEAg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v5-v6si6536040plo.417.2018.10.02.07.01.40; Tue, 02 Oct 2018 07:01:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730465AbeJBUNy (ORCPT + 99 others); Tue, 2 Oct 2018 16:13:54 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:33530 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730453AbeJBUNy (ORCPT ); Tue, 2 Oct 2018 16:13:54 -0400 Received: from localhost (24-104-73-23-ip-static.hfc.comcastbusiness.net [24.104.73.23]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 9801FC47; Tue, 2 Oct 2018 13:30:31 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Monk Liu , Emily Deng , =?UTF-8?q?Christian=20K=C3=B6nig?= , Alex Deucher , Sasha Levin Subject: [PATCH 4.18 188/228] amdgpu: fix multi-process hang issue Date: Tue, 2 Oct 2018 06:24:45 -0700 Message-Id: <20181002132510.930782462@linuxfoundation.org> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20181002132459.032960735@linuxfoundation.org> References: <20181002132459.032960735@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Emily Deng [ Upstream commit 2f40c6eac74a2a60921cdec9e9a8a57e88e31434 ] SWDEV-146499: hang during multi vulkan process testing cause: the second frame's PREAMBLE_IB have clear-state and LOAD actions, those actions ruin the pipeline that is still doing process in the previous frame's work-load IB. fix: need insert pipeline sync if have context switch for SRIOV (because only SRIOV will report PREEMPTION flag to UMD) Signed-off-by: Monk Liu Signed-off-by: Emily Deng Reviewed-by: Christian König Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c @@ -164,8 +164,10 @@ int amdgpu_ib_schedule(struct amdgpu_rin return r; } + need_ctx_switch = ring->current_ctx != fence_ctx; if (ring->funcs->emit_pipeline_sync && job && ((tmp = amdgpu_sync_get_fence(&job->sched_sync, NULL)) || + (amdgpu_sriov_vf(adev) && need_ctx_switch) || amdgpu_vm_need_pipeline_sync(ring, job))) { need_pipe_sync = true; dma_fence_put(tmp); @@ -196,7 +198,6 @@ int amdgpu_ib_schedule(struct amdgpu_rin } skip_preamble = ring->current_ctx == fence_ctx; - need_ctx_switch = ring->current_ctx != fence_ctx; if (job && ring->funcs->emit_cntxcntl) { if (need_ctx_switch) status |= AMDGPU_HAVE_CTX_SWITCH;