Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp314780pxb; Wed, 15 Sep 2021 02:43:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy/pLVFiY3mjjStVUK6JCYKu4ReUu4w9Gcj2wNTwgHuWnQe6FYfIGZ1Gsflhwn8NLvbq+Pq X-Received: by 2002:a05:6512:b0c:: with SMTP id w12mr17115812lfu.508.1631699004815; Wed, 15 Sep 2021 02:43:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631699004; cv=none; d=google.com; s=arc-20160816; b=du2oZkuEuWJplP2RDD9Vt2EJUFbLG/+zffpZr+ikb+KHSRoiZw4W1nV0eDnEnnM5QT +QT939ITyBrjJOReBEzWtHOHYRSVtkOPGHZKgzWy/EHJXS5dTg/HGzwnRvfnm/v+Kdr+ lvoAxxiW0uOA42wm8HXERjvLZTXXqbWUwSnIMVHBPDcUIKwEcg6zlOvvng79p1z1zg5V mBD7peCqfZlVQoryDL3Vir879PhXTUtVFROAlXQfeiWl59vH3JOsFgFmVsZqoON2hw5w kpFQbM1jRRQDC6PlLtJdVVIgVjnrbXiVg3cS893bXuYYWm3SMFFOLKwrZKziEO9wq2dl ALag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-language:content-transfer-encoding :mime-version:user-agent:date:message-id:cc:to:subject:from :dkim-signature; bh=9DwEurpv8pV9WAKblxk8PQ6MlsJLKqkLsk2uIwjdOs8=; b=MP/t3JjOxi+ocuG/7CkRItVjie8rBpNMd90fsCl9xgzuNyctFYv0EnB8cmpDxmqZxm AAjUpmyuNM1qhTYU8ICTfx0ifHiVCeVkBlwzUbI6Nsi1fajGF2mBks80WH9uKivAOFqX vVXjjTBdrrgiMjc0KvyfuyT0OJ4BpF6nayNmZf6TCV+wsUElog0CbMFV1umgCb6kL0v+ DhdcA1y+gymmRTXH94anxGKHM7RJOUToQLhUXc24TFTK/nNywRUtZQDGG55jGrd94/dN lkpE9ERsSWBCw7UAurRWWi6s13CjNN3NjJD/HdMN4JOhLCYEY+IAJgge/5uqXx/kYqb3 A5mQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=CHYtUWpo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y6si21071032lfa.468.2021.09.15.02.42.57; Wed, 15 Sep 2021 02:43:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=CHYtUWpo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237103AbhIOJkw (ORCPT + 99 others); Wed, 15 Sep 2021 05:40:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49440 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237017AbhIOJkw (ORCPT ); Wed, 15 Sep 2021 05:40:52 -0400 Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4F1A4C061574 for ; Wed, 15 Sep 2021 02:39:32 -0700 (PDT) Received: by mail-pf1-x434.google.com with SMTP id j6so2192027pfa.4 for ; Wed, 15 Sep 2021 02:39:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:subject:to:cc:message-id:date:user-agent:mime-version :content-transfer-encoding:content-language; bh=9DwEurpv8pV9WAKblxk8PQ6MlsJLKqkLsk2uIwjdOs8=; b=CHYtUWpojKuDZDp8++kUB6sBOmGkVp2FVI419Trr5GXtgFzVzUVDD+wZ339WENrz8n LzaoQW5ksPbkLJC57SCoeeombrDIjB05zvwUeYFBhf86tHsq+kpPxZjubz3XaRw++fAl OYw/wlU/FwEWtvGkrcHgyFb4U98CqPZNAPRZkbgScMMtXZQlg/cgcXREcnWskkH98n8i bdOBFAwLupdlx4R+W5KqPTAH4bOdCKCQoJhvScfHvKs1JkO7sfHpJfdSZii+yLoHz2j9 ++COGMH++Ee04AmkKCF+dov94QQVsYm4Cw4ofpRlliJ/IKPSeJcj15g680EclieKGCgq U8WQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:subject:to:cc:message-id:date:user-agent :mime-version:content-transfer-encoding:content-language; bh=9DwEurpv8pV9WAKblxk8PQ6MlsJLKqkLsk2uIwjdOs8=; b=4vDooHRQepnRFglR5T9gcfTHdSz5M/df2qfCC2h4zR2wUXaRH9zgjhUaxo9mV2FHE4 2vE1+szkzJ8Qi2arws4RHwmAV/G832P2WPI/UjqYbOg2gdxjseJyqul/dh5ZYfge6/1N DUOHxTUsT759+lI5r2dRLeSLxpLCa1tLguyyOTZgF4YeZNyabfla1gNRhAGap5Rl1a1a ULjx4jWWoW41t/CngVg4KWo58DH39uhlGNPIjPG4Sapiwraz2OatUSddUtJrqHEyeBmM hBrxS4XGUtroYRqEEgbgw4X78Ytx0YV0Y5pBSJpEu8CL3K7iAPpjp1I8ZeaiZ1RsHGhY EKag== X-Gm-Message-State: AOAM531j4VEosXkuY/9LbRIgObReNI+AK2AlBDkVVyFaLJg5L6rJkgC2 Edzn7dIbSGTbMKcvwbfP7JrrOA28Sdc= X-Received: by 2002:a62:e902:0:b0:414:aaf2:2b4 with SMTP id j2-20020a62e902000000b00414aaf202b4mr9587556pfh.10.1631698771533; Wed, 15 Sep 2021 02:39:31 -0700 (PDT) Received: from [166.111.139.129] ([166.111.139.129]) by smtp.gmail.com with ESMTPSA id w5sm14342387pgp.79.2021.09.15.02.39.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 15 Sep 2021 02:39:31 -0700 (PDT) From: Jia-Ju Bai Subject: [BUG] gpu: drm: amd: amdgpu: possible ABBA deadlock in amdgpu_set_power_dpm_force_performance_level() and amdgpu_debugfs_process_reg_op() To: alexander.deucher@amd.com, christian.koenig@amd.com, Xinhui.Pan@amd.com, airlied@linux.ie, daniel@ffwll.ch, Hawking.Zhang@amd.com, Felix.Kuehling@amd.com, ray.huang@amd.com, lee.jones@linaro.org Cc: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel Message-ID: <2dc31435-ba62-b6a4-76dc-cfe9747f4cfb@gmail.com> Date: Wed, 15 Sep 2021 17:39:28 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, My static analysis tool reports a possible ABBA deadlock in the amdgpu driver in Linux 5.10: amdgpu_debugfs_process_reg_op()   mutex_lock(&adev->grbm_idx_mutex); --> Line 250 (Lock A)   mutex_lock(&adev->pm.mutex); --> Line 259 (Lock B) amdgpu_set_power_dpm_force_performance_level()   mutex_lock(&adev->pm.mutex); --> Line 381 (Lock B)     pp_dpm_force_performance_level() --> function pointer via "amdgpu_dpm_force_performance_level()"       pp_dpm_en_umd_pstate()         amdgpu_device_ip_set_clockgating_state()           gfx_v7_0_set_clockgating_state() --> function pointer via "funcs->set_clockgating_state()"             gfx_v7_0_enable_mgcg()               mutex_lock(&adev->grbm_idx_mutex); --> Line 3646 (Lock A)               mutex_lock(&adev->grbm_idx_mutex); --> Line 3697 (Lock A) When amdgpu_debugfs_process_reg_op() and amdgpu_set_power_dpm_force_performance_level() are concurrently executed, the deadlock can occur. I am not quite sure whether this possible deadlock is real and how to fix it if it is real. Any feedback would be appreciated, thanks :) Reported-by: TOTE Robot Best wishes, Jia-Ju Bai