From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751865AbdITX6n (ORCPT ); Wed, 20 Sep 2017 19:58:43 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:63826 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751584AbdITX6l (ORCPT ); Wed, 20 Sep 2017 19:58:41 -0400 X-AuditID: b6c32a37-f79a16d000003afa-46-59c300ae3364 MIME-version: 1.0 Content-transfer-encoding: 8BIT Content-type: text/plain; charset="UTF-8" Message-id: <59C300AD.6000309@samsung.com> Date: Thu, 21 Sep 2017 08:58:37 +0900 From: Chanwoo Choi Organization: Samsung Electronics User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 To: Viresh Kumar , Rafael Wysocki , Viresh Kumar , Nishanth Menon , Stephen Boyd Cc: linux-pm@vger.kernel.org, Vincent Guittot , myungjoo.ham@samsung.com, inki.dae@samsung.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH V2] PM / OPP: Call notifier without holding opp_table->lock In-reply-to: <5b70f7bdf12975f869a83f77e36bf3a40e0fa4b9.1505939072.git.viresh.kumar@linaro.org> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrIJsWRmVeSWpSXmKPExsWy7bCmru46hsORBm/mCFtMuj+BxeLyrjls Fp97jzBa3G5cwWbx5sdZJoszpy+xWvw4081i0XHkG7PFxq8eFpsfHGNz4PK43NfL5LFpVSeb x51re9g8tlxtZ/Ho27KK0eP4je1MHp83yQWwR6XaZKQmpqQWKaTmJeenZOal2yp5B8c7x5ua GRjqGlpamCsp5CXmptoqufgE6Lpl5gCdp6RQlphTChQKSCwuVtK3synKLy1JVcjILy6xVYo2 NDTSMzQw1zMyMtIzMY61MjIFKklIzZjx8hNrwWHOigOLTrM3MD5i72Lk5JAQMJFY9vIhC4Qt JnHh3no2EFtIYAejxPdzTF2MXED2d0aJptcrmWEanh55yAyR2MAoMe3cKbAOXgFBiR+T7wFN 4uBgFpCXOHIpGyTMLKApsXX3enaI+nuMEn+PLYKq15K48/ARK4jNIqAqcfBXDxOIzQYU3//i BlgNv4CixNUfjxlBbFGBCImd87+BDRIR2MYocX7nSjYQh1lgFqPE886lYN3CAoESU5e8BzuV UyBB4trmLrAOCYHvbBI7z3RB/eAi8WdrJxuELSzx6vgWdpCzJQSkJS4dtYWob2eU2DwH5B0Q p4NR4v7KRlaIBmOJU12NTBDP8Um8+9rDCtHMK9HRJgRR4iGxuecMI4TtKDH533tGiP8vMUr0 dv9gnMAoPwspyGYhgmwWUpAtYGRexSiWWlCcm55abFhgrFecmFtcmpeul5yfu4kRnDy1zHcw bjjnc4hRgINRiYc3wOpgpBBrYllxZe4hRgkOZiUR3piHhyKFeFMSK6tSi/Lji0pzUosPMZoC Q3wis5Rocj4wseeVxBuaWBqYmBkBE5uloaGSOK/Y+msRQgLpiSWp2ampBalFMH1MHJxSDYw2 TzavSw22/CfE5Dc371Gj9TR9NpZ7qpbbql75Z23peXpsh0HJ4/93dnh9EXk5NdqxqcJCr9xD ta5N/hWr6oRVy/klbPdrrZLSml1ecn7RujLJI0ViWzVOavy8lLP0zyE9s/nWO12U5127qd84 9WT4jiOKLFNvOs/6YaYrf2vysVnyCy4c7gpUYinOSDTUYi4qTgQAdFu5oLQDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrCLMWRmVeSWpSXmKPExsVy+t9jQd21DIcjDXqnmllMuj+BxeLyrjls Fp97jzBa3G5cwWbx5sdZJoszpy+xWvw4081i0XHkG7PFxq8eFpsfHGNz4PK43NfL5LFpVSeb x51re9g8tlxtZ/Ho27KK0eP4je1MHp83yQWwR3HZpKTmZJalFunbJXBlzHj5ibXgMGfFgUWn 2RsYH7F3MXJySAiYSDw98pAZxBYSWMco8fmwF4jNKyAo8WPyPZYuRg4OZgF5iSOXskHCzALq EpPmLYIqf8AocfxvDUS5lsSdh49YQWwWAVWJg796mEBsNqD4/hc32EBsfgFFias/HjOCjBQV iJDoPlEJEhYR2MYosfCzeRcjF9D4WYwSk/7vZgRJCAv4SxxauZ4VJCEkcIlRouXsb2aQZk6B BIkrs50nMAJVI1w6C+HSWUguXcDIvIpRMrWgODc9t9iowDAvtVyvODG3uDQvXS85P3cTIzAu th3W6tvBeH9J/CFGAQ5GJR7eAKuDkUKsiWXFlbmHGCU4mJVEeGMeHooU4k1JrKxKLcqPLyrN SS0+xCjNwaIkzpvZNyNSSCA9sSQ1OzW1ILUIJsvEwSnVwFjP8fKoKQ/3RVXfg2qKMfJJXSb/ N6w5pf7gYNqTcn/Vy5u1p0/rq1x4ymfP/2LbqJkbT/1yvhj40b1V3q905sdVR10zlrltdV8q 3jXDp7FNag/jjMd+D81+fLt4aNLJVZOXnJ6zVXLhrY1fc977x807/Oy875T77xSu7JbiNnXP DahoZTm/jT1TiaU4I9FQi7moOBEAtxKV1IcCAAA= X-CMS-MailID: 20170920235837epcas1p23da2f99cbb3e7fae11e5d32f26822e2f X-Msg-Generator: CA X-Sender-IP: 182.195.42.142 X-Local-Sender: =?UTF-8?B?7LWc7LCs7JqwG1RpemVuIFBsYXRmb3JtIExhYihTL1fshLw=?= =?UTF-8?B?7YSwKRvsgrzshLHsoITsnpAbU2VuaW9yIEVuZ2luZWVy?= X-Global-Sender: =?UTF-8?B?Q2hhbndvbyBDaG9pG1RpemVuIFBsYXRmb3JtIExhYi4bU2Ft?= =?UTF-8?B?c3VuZyBFbGVjdHJvbmljcxtTZW5pb3IgRW5naW5lZXI=?= X-Sender-Code: =?UTF-8?B?QzEwG1RFTEUbQzEwVjgxMTE=?= CMS-TYPE: 101P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20170920202534epcas3p4c5f11e910684af4974e114e3c057901d X-RootMTR: 20170920202534epcas3p4c5f11e910684af4974e114e3c057901d References: <59C2414E.6020803@samsung.com> <5b70f7bdf12975f869a83f77e36bf3a40e0fa4b9.1505939072.git.viresh.kumar@linaro.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Viresh, On 2017년 09월 21일 05:25, Viresh Kumar wrote: > The notifier callbacks may want to call some OPP helper routines which > may try to take the same opp_table->lock again and cause a deadlock. One > such usecase was reported by Chanwoo Choi, where calling > dev_pm_opp_disable() leads us to the devfreq's OPP notifier handler, > which further calls dev_pm_opp_find_freq_floor() and it deadlocks. > > We don't really need the opp_table->lock to be held across the notifier > call though, all we want to make sure is that the 'opp' doesn't get > freed while being used from within the notifier chain. We can do it with > help of dev_pm_opp_get/put() as well. Let's do it. > > Reported-by: Chanwoo Choi > Reviewed-by: Stephen Boyd > Signed-off-by: Viresh Kumar > --- > V1->V2: > - s/Lets/Let's/ in commit log and added Stephen's tag. > Thanks for your fixup. Looks good to me. IMHO, this patch should be posted to stable@vger.kernel.org. Tested-by: Chanwoo Choi Reviewed-by: Chanwoo Choi [snip] -- Best Regards, Chanwoo Choi Samsung Electronics