From patchwork Mon Apr 15 19:43:22 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andrey Grodzovsky X-Patchwork-Id: 10901479 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BF100139A for ; Mon, 15 Apr 2019 19:43:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AE48C2892A for ; Mon, 15 Apr 2019 19:43:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A1C3D2893F; Mon, 15 Apr 2019 19:43:56 +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=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED 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 5833128942 for ; Mon, 15 Apr 2019 19:43:56 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 80AC98990D; Mon, 15 Apr 2019 19:43:55 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-eopbgr820040.outbound.protection.outlook.com [40.107.82.40]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5568F8938B; Mon, 15 Apr 2019 19:43:53 +0000 (UTC) Received: from SN1PR12CA0043.namprd12.prod.outlook.com (2603:10b6:802:20::14) by CY1PR12MB0587.namprd12.prod.outlook.com (2a01:111:e400:c439::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1792.19; Mon, 15 Apr 2019 19:43:51 +0000 Received: from CO1NAM03FT011.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e48::205) by SN1PR12CA0043.outlook.office365.com (2603:10b6:802:20::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1792.16 via Frontend Transport; Mon, 15 Apr 2019 19:43:51 +0000 Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from SATLEXCHOV02.amd.com (165.204.84.17) by CO1NAM03FT011.mail.protection.outlook.com (10.152.80.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1771.16 via Frontend Transport; Mon, 15 Apr 2019 19:43:50 +0000 Received: from agrodzovsky-All-Series.amd.com (10.34.1.3) by SATLEXCHOV02.amd.com (10.181.40.72) with Microsoft SMTP Server id 14.3.389.1; Mon, 15 Apr 2019 14:43:49 -0500 From: Andrey Grodzovsky To: , , , , Subject: [PATCH v3 4/5] drm/amd/display: wait for fence without holding reservation lock Date: Mon, 15 Apr 2019 15:43:22 -0400 Message-ID: <1555357403-30813-4-git-send-email-andrey.grodzovsky@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1555357403-30813-1-git-send-email-andrey.grodzovsky@amd.com> References: <1555357403-30813-1-git-send-email-andrey.grodzovsky@amd.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:165.204.84.17; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(396003)(376002)(136003)(39860400002)(346002)(2980300002)(428003)(199004)(189003)(86362001)(2201001)(44832011)(97736004)(8676002)(81166006)(53416004)(68736007)(5660300002)(2906002)(5820100001)(6666004)(356004)(4326008)(81156014)(14444005)(8936002)(76176011)(104016004)(186003)(110136005)(53936002)(305945005)(486006)(50226002)(126002)(2870700001)(50466002)(476003)(426003)(11346002)(36756003)(446003)(2616005)(23676004)(66574012)(7696005)(478600001)(336012)(106466001)(72206003)(316002)(54906003)(26005)(47776003)(77096007)(105586002)(2101003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR12MB0587; H:SATLEXCHOV02.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; A:1; MX:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4d6bbe91-5df9-4031-7112-08d6c1daaf7e X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600140)(711020)(4605104)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328); SRVR:CY1PR12MB0587; X-MS-TrafficTypeDiagnostic: CY1PR12MB0587: X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 000800954F X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: 0XxTDlaFReBhaI/d/KU2aD7tmyQ8E7XnwrUNMY7urJ2AvgfxYUQd6EIewJ0y89uW6uz6X40Az0qcXWZ6tYce0EuTU0E01bS3gwkBNvt8yBNlfYwEbM7xf+ClD/bxxESNRZXfWf5dcs3xeTXKmQm3odH577WIS42cl/HhiFpC5ncrm9oxMyNGC73CeK8s1mnKznFe38tEAGNDk5L1yr3j26wG7gb0k29ycc0++THZNdgAdJdng2d9/GRIcAPcG2GfbH/x5W45u0exrlkaGM0HoVGa++mUBHQ4njhS5218DUHH8Mtz2tDGCV2FCfqnkdURVQiJ/9uQQK+6xLqctZIT9m8+o/k3a9fJ0Bxg1AsQsMfrEic2sx+QQuTFfwbZAh7HFUoO/0x15tI+gF0Oaa5gTUGAIx3nqynXruSNstmsqtI= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2019 19:43:50.7461 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4d6bbe91-5df9-4031-7112-08d6c1daaf7e X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXCHOV02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0587 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YzLnC9YryBGPnK2gy54en2ETPC5NOxoHyA8uPA/xkwg=; b=YtkdZwBFuU4KA1sX+Ak0T7ufSM4fKYdxFAfjiHjFURXz4BFN0f0YG99AU0fyDQIq7A0LmL4jVQEOfBJXMwAnLmqqQhdUzgItjMXQhx9Z31R3zhsGf4cDUhyvyyEEx4LubEnqjE+MdefEJe3UssXl+Ut49lH5h/iHfB6xvkz9rRk= X-Mailman-Original-Authentication-Results: spf=none (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; lists.freedesktop.org; dkim=none (message not signed) header.d=none;lists.freedesktop.org; dmarc=permerror action=none header.from=amd.com; X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Nicholas.Kazlauskas@amd.com, =?utf-8?q?Christian_K=C3=B6nig?= Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP From: Christian König Don't block others while waiting for the fences to finish, concurrent submission is perfectly valid in this case and holding the lock can prevent killed applications from terminating. Signed-off-by: Christian König Reviewed-by: Nicholas Kazlauskas --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 44a8bf8..5aeac2c 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -5295,23 +5295,26 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state, continue; } + abo = gem_to_amdgpu_bo(fb->obj[0]); + + /* Wait for all fences on this FB */ + r = reservation_object_wait_timeout_rcu(abo->tbo.resv, true, + false, + MAX_SCHEDULE_TIMEOUT); + WARN_ON(r < 0); + /* * TODO This might fail and hence better not used, wait * explicitly on fences instead * and in general should be called for * blocking commit to as per framework helpers */ - abo = gem_to_amdgpu_bo(fb->obj[0]); r = amdgpu_bo_reserve(abo, true); if (unlikely(r != 0)) { DRM_ERROR("failed to reserve buffer before flip\n"); WARN_ON(1); } - /* Wait for all fences on this FB */ - WARN_ON(reservation_object_wait_timeout_rcu(abo->tbo.resv, true, false, - MAX_SCHEDULE_TIMEOUT) < 0); - amdgpu_bo_get_tiling_flags(abo, &tiling_flags); amdgpu_bo_unreserve(abo);