Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp3577897imm; Sun, 29 Jul 2018 22:57:44 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdE0wJ4/pouJja+8iM9ajWpmaS1TNbwuTW7ylHJo0oSnvD2AgVIwh4HgjLGTXIgGNvSN3Ob X-Received: by 2002:a62:c0a:: with SMTP id u10-v6mr16428316pfi.43.1532930264286; Sun, 29 Jul 2018 22:57:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532930264; cv=none; d=google.com; s=arc-20160816; b=QidhpborgyyD3sdDC4ygx77V6xwIc1swGQ7ptXHAlaFk2GHZUSqlIyHAR/wYRBLRd1 /aEkP2NTBgQZB3/9JaIZBMHZk/sq4wgoJzpr4gvtdl8lArRPPeJ0aOhcYS8Qk38VMTQQ iVa5Ic9yVje/u1S0wW/rMkK9z3I28POM1bI77/hRUDrl6gGhq9kzRLhEF+t4T09kaWjI uBQ6FTX+eta58gIL/AD0qFwkpGoUgjH45eICgNBpXWv90ExljJSIWSxtNIlSkicVnVIn tjyvp4ps1T9WRWRijNSJw+wYiLnzIYS8IUgGAkHjNY94KHGeYA79EGbjnRvBWgaxGoQd R/DQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:dlp-filter:cms-type:message-id :date:subject:cc:to:from:dkim-signature:dkim-filter :arc-authentication-results; bh=OrkvIA1IBryCv0nKA5NFS4dtnm4peGJumz02+T3L2X4=; b=vFrDusZwwmVtKa+V88XbnxlZGlPqZGFG2AbI387Uy+nHlNu1mtFyMfkrL9VA3hIoud zIaP/+Il7nyYXNCnvR5S/DT2q/+vQCHU6QDM+WHiliBZ03VHEqm5/+KnHowWSHyi3emw QVlLF1u/g8muVOinzbjg0RQVE3MdFoPTtuaSzBqAlfQLvogjL4wnQBWlSIILoOVRcPEk dEhZY5Me1SE6UwLGrcIY4A5uxfYA9VWSLnw+tnP/HaDHvcPXJ3/Ab4tVtPkvqyoXdesE JLvuz7CUsLHCr5E+gPoHdrFdjhdyXjPosvjXOvleuA+v4r4fqjWx5P3V6ar+jiQmvo45 T7/A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b="XS/aZZ5B"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k30-v6si10554120pgf.415.2018.07.29.22.57.30; Sun, 29 Jul 2018 22:57:44 -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; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b="XS/aZZ5B"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726507AbeG3H2i (ORCPT + 99 others); Mon, 30 Jul 2018 03:28:38 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:52217 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726259AbeG3H2i (ORCPT ); Mon, 30 Jul 2018 03:28:38 -0400 Received: from epcas5p1.samsung.com (unknown [182.195.41.39]) by mailout3.samsung.com (KnoxPortal) with ESMTP id 20180730055516epoutp033967709efed979dd45bab9683c429c67~GD9G85mfx2539525395epoutp03X for ; Mon, 30 Jul 2018 05:55:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout3.samsung.com 20180730055516epoutp033967709efed979dd45bab9683c429c67~GD9G85mfx2539525395epoutp03X DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1532930116; bh=OrkvIA1IBryCv0nKA5NFS4dtnm4peGJumz02+T3L2X4=; h=From:To:Cc:Subject:Date:References:From; b=XS/aZZ5B3/cTx5d/ArM/w68GrY76tA/1Vr3fn449xQXtF1PHq3yxesEzK+jQPzhWR fLZEtiC3h88+CsqNDgEjjgZQnCZ9Qx7mP7oRgAJkOMbTXuepx9vZMOwBQln282VDlv TcU9bh+MB6CIMHXAHdEXbdVXO4uFp50m5Xpc92lQ= Received: from epsmges5p3new.samsung.com (unknown [182.195.40.192]) by epcas5p1.samsung.com (KnoxPortal) with ESMTP id 20180730055516epcas5p1e435357445c398d6ae7acdc71d91c60d~GD9Gcor_B0653306533epcas5p11; Mon, 30 Jul 2018 05:55:16 +0000 (GMT) Received: from epcas5p4.samsung.com ( [182.195.41.42]) by epsmges5p3new.samsung.com (Symantec Messaging Gateway) with SMTP id 60.E7.04304.448AE5B5; Mon, 30 Jul 2018 14:55:16 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas5p3.samsung.com (KnoxPortal) with ESMTPA id 20180730055515epcas5p3358ce6d5e80b66256ea92aa5659f74bb~GD9F1P8zb2847928479epcas5p3D; Mon, 30 Jul 2018 05:55:15 +0000 (GMT) Received: from epsmgms1p2new.samsung.com (unknown [182.195.42.42]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20180730055515epsmtrp1de37c8889c5ea203fd95e9d5318f7d0a~GD9FzrHlG0054000540epsmtrp14; Mon, 30 Jul 2018 05:55:15 +0000 (GMT) X-AuditID: b6c32a4b-239ff700000010d0-49-5b5ea84431de Received: from epsmtip2.samsung.com ( [182.195.34.31]) by epsmgms1p2new.samsung.com (Symantec Messaging Gateway) with SMTP id 94.8A.03889.348AE5B5; Mon, 30 Jul 2018 14:55:15 +0900 (KST) Received: from localhost.localdomain (unknown [107.108.161.94]) by epsmtip2.samsung.com (KnoxPortal) with ESMTPA id 20180730055513epsmtip2b678a5f6f4d9c64c9293d0e5096b5e9f~GD9D4fsFi1311913119epsmtip2i; Mon, 30 Jul 2018 05:55:13 +0000 (GMT) From: Satendra Singh Thakur To: Gustavo Padovan , Maarten Lankhorst , Sean Paul , David Airlie , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: vineet.j@samsung.com, hemanshu.s@samsung.com, nishant.y08@samsung.com, sst2005@gmail.com, Satendra Singh Thakur Subject: [PATCH] drm/kms/plane: Avoiding redundant checks in case of EDEADLK retries Date: Mon, 30 Jul 2018 10:48:36 +0530 X-Mailer: git-send-email 2.7.4 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrIKsWRmVeSWpSXmKPExsWy7bCmlq7Lirhog/dzWC16z51ksrjy9T2b xc4Hu9gtXp1/w2xxedccNouFH7eyWPS9O85msfZ8K4vF3Q1nGS2Wn77ObHFs6yV2B26P2Q0X WTx2zrrL7rH92wNWj3knAz3udx9n8tg5aS+TR9+WVYwenzfJBXBEpdpkpCampBYppOYl56dk 5qXbKnkHxzvHm5oZGOoaWlqYKynkJeam2iq5+AToumXmAB2qpFCWmFMKFApILC5W0rezKcov LUlVyMgvLrFVijY0NNIzNDDXMzIC0qaxVkamQCUJqRmrlhxkLVjJW7Gpaw1TA+M1ri5GTg4J AROJ59t3MnYxcnEICexmlFj+7ys7hPOJUeLspV8sIFVCAt8YJZY9y+pi5ADrWLcsBaJmL6PE qvkzobq/MErc2bKVHaSBDWTsnBmsIAkRgZeMEjdbzoA5zAJ9jBJH+x+zglQJC4RJnPn0A6yD RUBVYknrcnaIo+Qkbp7rZAZpkBDYwyax5F4PI0iCV6BMYsPOs1BFLhKzp/+GsoUlXh3fAmVL Sbzsb4OyJzNKNJ/1gxi0Guihi71QCXuJlikHWEAeYhbQlFi/Sx8kzCzAJ9H7+wkTxJ+8Eh1t QhDVKhIrXxxmhhn/Z0EXK4TtIXGi5wQbJIhiJWZtmsM0gVFmFsLQBYyMqxglUwuKc9NTi00L jPNSy/WKE3OLS/PS9ZLzczcxgpOblvcOxk3nfA4xCnAwKvHwCkjERQuxJpYVV+YeYpTgYFYS 4U26HxstxJuSWFmVWpQfX1Sak1p8iNEUGGgTmaVEk/OBiTevJN7Q1MjMzMDSwNTYwsxQSZz3 g19wtJBAemJJanZqakFqEUwfEwenVAOj+6Gk31EFvzo1IxLOTZOZk+h5z/vuVl8XvnuVRbKR /6pnHT8yZ+5umwP1F8O5+jJXZB7eWvl3Kffb9LV/s55IK//45sRzjGXWxDy+yzdCjge/zpVb Y/z/N1NL8pJtd5QSLJSPXL5x7edqgbpb803ZijRMT77b4MgRvPR7xTvvgw/ivZhK80tqlFiK MxINtZiLihMBnbezLYQDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrPLMWRmVeSWpSXmKPExsWy7bCSvK7zirhogxMd4ha9504yWVz5+p7N YueDXewWr86/Yba4vGsOm8XCj1tZLPreHWezWHu+lcXi7oazjBbLT19ntji29RK7A7fH7IaL LB47Z91l99j+7QGrx7yTgR73u48zeeyctJfJo2/LKkaPz5vkAjiiuGxSUnMyy1KL9O0SuDJW LTnIWrCSt2JT1xqmBsZrXF2MHBwSAiYS65aldDFycQgJ7GaUWL9sCXMXIydQXEpi2ZttbBC2 sMTKf8/ZIYo+MUrcObCIFSTBBtT8fM4MVpCEiMBbRonWnadZQBxmgSmMEmtWnGcCqRIWCJFo P3+YEcRmEVCVWNK6nB3E5hVwlXj7+i0rxAo5iZvnOpknMPIsYGRYxSiZWlCcm55bbFhglJda rlecmFtcmpeul5yfu4kRHIxaWjsYT5yIP8QowMGoxMObIRUXLcSaWFZcmXuIUYKDWUmEN+l+ bLQQb0piZVVqUX58UWlOavEhRmkOFiVxXvn8Y5FCAumJJanZqakFqUUwWSYOTqkGxvAzkXaM ZvPb1b7/3PtArtRwofhso8jf2d+6TBPO3t95efaFbQuFbWy780X0zSsum8tueHzKyjOyvuKD tfeZ7o0+XU0B1kaq1+wfbg2wk+Hc3nWLNVnWaq7z8iva3xacsuv/2HbhbNLN74a91eduzH0m 5JmqJGcs4zv3Q1JhjdSP2szuc/9dlFiKMxINtZiLihMB5vQD7EICAAA= Message-Id: <20180730055515epcas5p3358ce6d5e80b66256ea92aa5659f74bb~GD9F1P8zb2847928479epcas5p3D@epcas5p3.samsung.com> X-CMS-MailID: 20180730055515epcas5p3358ce6d5e80b66256ea92aa5659f74bb X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20180730055515epcas5p3358ce6d5e80b66256ea92aa5659f74bb References: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 1. Currently, if modeset_lock is re-tried many times in case of EDEADLK error, then this will be the code flow retry: ret = drm_modeset_lock(); if (ret)-->this is true goto out; out: if (fb) if (plane->old_fb) if (ret == -EDEADLK) goto retry; It can be observed that checks on fb, old_fb are redundant in retry-case. If we keep if (ret == -EDEADLK) right after the out label, that will avoid redundant checks. It won't affect normal scenario (non-retry case). 2. Moved NULL assignment inside if statement related to NULL check Signed-off-by: Satendra Singh Thakur --- drivers/gpu/drm/drm_plane.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c index 0350544..ed42cd4 100644 --- a/drivers/gpu/drm/drm_plane.c +++ b/drivers/gpu/drm/drm_plane.c @@ -658,9 +658,10 @@ static int __setplane_internal(struct drm_plane *plane, } out: - if (plane->old_fb) + if (plane->old_fb) { drm_framebuffer_put(plane->old_fb); - plane->old_fb = NULL; + plane->old_fb = NULL; + } return ret; } @@ -1097,17 +1098,17 @@ int drm_mode_page_flip_ioctl(struct drm_device *dev, } out: - if (fb) - drm_framebuffer_put(fb); - if (plane->old_fb) - drm_framebuffer_put(plane->old_fb); - plane->old_fb = NULL; - if (ret == -EDEADLK) { ret = drm_modeset_backoff(&ctx); if (!ret) goto retry; } + if (fb) + drm_framebuffer_put(fb); + if (plane->old_fb) { + drm_framebuffer_put(plane->old_fb); + plane->old_fb = NULL; + } drm_modeset_drop_locks(&ctx); drm_modeset_acquire_fini(&ctx); -- 2.7.4