From patchwork Thu Apr 18 15:00:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andrey Grodzovsky X-Patchwork-Id: 10907487 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 84E9A161F for ; Thu, 18 Apr 2019 15:00:42 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6AC9B28C2A for ; Thu, 18 Apr 2019 15:00:42 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 690C428C2B; Thu, 18 Apr 2019 15:00:42 +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 D507728B2A for ; Thu, 18 Apr 2019 15:00:38 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 336296E15F; Thu, 18 Apr 2019 15:00:37 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from NAM05-BY2-obe.outbound.protection.outlook.com (mail-eopbgr710061.outbound.protection.outlook.com [40.107.71.61]) by gabe.freedesktop.org (Postfix) with ESMTPS id 53EAF6E15C; Thu, 18 Apr 2019 15:00:35 +0000 (UTC) Received: from DM6PR12CA0005.namprd12.prod.outlook.com (2603:10b6:5:1c0::18) by SN1PR12MB0589.namprd12.prod.outlook.com (2a01:111:e400:c429::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1813.14; Thu, 18 Apr 2019 15:00:33 +0000 Received: from DM3NAM03FT008.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e49::208) by DM6PR12CA0005.outlook.office365.com (2603:10b6:5:1c0::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1813.11 via Frontend Transport; Thu, 18 Apr 2019 15:00:33 +0000 Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from SATLEXCHOV01.amd.com (165.204.84.17) by DM3NAM03FT008.mail.protection.outlook.com (10.152.82.122) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1771.16 via Frontend Transport; Thu, 18 Apr 2019 15:00:33 +0000 Received: from agrodzovsky-All-Series.amd.com (10.34.1.3) by SATLEXCHOV01.amd.com (10.181.40.71) with Microsoft SMTP Server id 14.3.389.1; Thu, 18 Apr 2019 10:00:32 -0500 From: Andrey Grodzovsky To: , , , , Subject: [PATCH v5 1/6] drm/amd/display: wait for fence without holding reservation lock Date: Thu, 18 Apr 2019 11:00:19 -0400 Message-ID: <1555599624-12285-1-git-send-email-andrey.grodzovsky@amd.com> X-Mailer: git-send-email 2.7.4 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)(346002)(39860400002)(136003)(396003)(376002)(2980300002)(428003)(199004)(189003)(2201001)(72206003)(6666004)(356004)(47776003)(97736004)(14444005)(305945005)(50466002)(68736007)(86362001)(81166006)(36756003)(81156014)(2870700001)(53936002)(66574012)(478600001)(8676002)(44832011)(23676004)(476003)(2616005)(126002)(486006)(7696005)(336012)(426003)(4326008)(186003)(2906002)(77096007)(26005)(50226002)(8936002)(53416004)(5660300002)(110136005)(54906003)(5820100001)(316002)(2101003); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR12MB0589; H:SATLEXCHOV01.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoDomainNonexistent; A:1; MX:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 97be1552-ba48-47b9-24d7-08d6c40e9b4c X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(2017052603328); SRVR:SN1PR12MB0589; X-MS-TrafficTypeDiagnostic: SN1PR12MB0589: X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 0011612A55 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: 9OwGv21g3N5XnOAs5MaywEk6G9MbfLA1HWwpK2mdPVZWaJy4rYDwHegapwSDmRLAnxioY6Ll7dIG3ppUS0rds/YjU4m6/zQDxZWlfGXm2gjW5mDq2hYpLIjDcNVM60gTVQFOgSxnKb9iUuJDOHJ2nJOVpuCs1YNO/Td+yJpfqO89NnUHTRztYUg5Dlema4yzO/AXNCAmXkT03SZRPX0+jrUGBapYTUaJ8lvqOgGPd/y/oErhCgWmHcaiTgiIdHEVwN6qGAze8K8sO72A/5JYDAbfXdsHAsvHOmMjH7NAmm3eRnyXpyrLJkuzKKlZVMi4gFerql76pzcjRyohjeosMhTCfwga7Gb1LR8zr/oug2mQIrhCDMxFfsguqfCWphoztvkL/U1bF9GwFtBn+lvrCnZxB8I5ummed8gbGOTRf5k= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2019 15:00:33.0221 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 97be1552-ba48-47b9-24d7-08d6c40e9b4c 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=[SATLEXCHOV01.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0589 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=dGScxoAHR6623aEhsWPM0p9AgLaThDXVOGPAX7vGecY=; b=C1UIBZfJ6FiyIsDFrzXDhIlHYhBssMPCsgrWmwcUYqD7fBIssdT+2eF/WSS+geakI4cOer5k26Oiz5XQpG4wYqlZ5Q/apo379S/rWDBSqgvwJNYRD1M5vUMriCXKL93KBe2wqZiOBhw8VQXYlP33Nc5y8lUsLsrhAF8zzeeSFbo= 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 380a7f9..ad4f0e5 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -4814,23 +4814,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);