From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhang Rui Subject: Re: [BUG] v4.11-rc1: CPUFREQ Circular locking dependency Date: Mon, 13 Mar 2017 10:44:48 +0800 Message-ID: <1489373088.5841.15.camel@intel.com> References: <20170310150218.GW21222@n2100.armlinux.org.uk> <20170310234325.GB21222@n2100.armlinux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170310234325.GB21222@n2100.armlinux.org.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Russell King - ARM Linux , Matthew Wilcox Cc: Viresh Kumar , Linux PM , "Rafael J. Wysocki" , "linux-arm-kernel@lists.infradead.org" , "Rafael J. Wysocki" List-Id: linux-pm@vger.kernel.org CgpPbiBGcmksIDIwMTctMDMtMTAgYXQgMjM6NDMgKzAwMDAsIFJ1c3NlbGwgS2luZyAtIEFSTSBM aW51eCB3cm90ZToKPiBPbiBGcmksIE1hciAxMCwgMjAxNyBhdCAwNjozMzoyOFBNICswMDAwLCBN YXR0aGV3IFdpbGNveCB3cm90ZToKPiA+IAo+ID4gRnJvbSBjZDU0MDFkODE2MzNkNWU0OGUzOWQ2 N2Q0ZTY1MTU2ZTY3NTk1MzdlIE1vbiBTZXAgMTcgMDA6MDA6MDAKPiA+IDIwMDEKPiA+IEZyb206 IE1hdHRoZXcgV2lsY294IDxtYXdpbGNveEBtaWNyb3NvZnQuY29tPgo+ID4gRGF0ZTogRnJpLCAx MCBNYXIgMjAxNyAxMzoyMjo1MyAtMDUwMAo+ID4gU3ViamVjdDogW1BBVENIXSB0aGVybWFsOiBG aXggcG90ZW50aWFsIGRlYWRsb2NrIGluIGNwdV9jb29saW5nCj4gPiAKPiA+IEkgZXhwYW5kZWQg dGhlIHNjb3BlIG9mIGNvb2xpbmdfbGlzdF9sb2NrIGEgbGl0dGxlIHRvbyBmYXI7IGl0IHdhcwo+ ID4gbm90IGp1c3QgY292ZXJpbmcgY3B1ZnJlcV9kZXZfY291bnQsIGl0IHdhcyBhbHNvIGNvdmVy aW5nIHRoZSBjYWxscwo+ID4gdG8gY3B1ZnJlcV9yZWdpc3Rlcl9ub3RpZmllcigpIGFuZCBjcHVm cmVxX3VucmVnaXN0ZXJfbm90aWZpZXIoKS4KPiA+IFNpbmNlIGNvb2xpbmdfbGlzdF9sb2NrIGlz IGFsc28gdXNlZCB3aXRoaW4KPiA+IGNwdWZyZXFfdGhlcm1hbF9ub3RpZmllcigpLAo+ID4gbG9j a2RlcCByZXBvcnRzIGEgcG90ZW50aWFsIGRlYWRsb2NrLsKgwqBJIGRvbid0IHRoaW5rIHRoYXQn cwo+ID4gYWN0dWFsbHkKPiA+IHBvc3NpYmxlLCBidXQgaXQncyBlYXN5IGVub3VnaCB0byBtYWtl IGl0IGltcG9zc2libGUgYnkgdGVzdGluZyB0aGUKPiA+IGNvbmRpdGlvbiB1bmRlciBjb29saW5n X2xpc3RfbG9jayBhbmQgZHJvcHBpbmcgdGhlIGxvY2sgYmVmb3JlCj4gPiBjYWxsaW5nCj4gPiBj cHVmcmVxX3JlZ2lzdGVyX25vdGlmaWVyKCkuCj4gPiAKPiA+IEFzIGEgYm9udXMsIEkgbm90aWNl ZCB0aGF0IGNwdWZyZXFfZGV2X2NvdW50IGlzIG9ubHkgdXNlZCBmb3IgdGhlCj4gPiBwdXJwb3Nl Cj4gPiBvZiBrbm93aW5nIHdoZXRoZXIgdGhpcyBpcyB0aGUgZmlyc3Qgb3IgbGFzdCBjb29saW5n IGRldmljZQo+ID4gcmVnaXN0ZXJlZCwKPiA+IGFuZCB3ZSBrbm93IHRoYXQgYW55d2F5IGJlY2F1 c2Ugd2Uga25vdyB3aGV0aGVyIHRoZSBsaXN0Cj4gPiB0cmFuc2l0aW9uZWQKPiA+IGJldHdlZW4g ZW1wdHkgYW5kIG5vdC1lbXB0eS7CoMKgU28gd2UgY2FuIGRlbGV0ZSB0aGF0IHZhcmlhYmxlIHRv by4KPiA+IAo+ID4gRml4ZXM6IGFlNjA2MDg5NjIxZWYwMzQ5NDAyY2ZjYmVjYTMzYTgyYWJiZDBm ZDAKPiA+IFJlcG9ydGVkLWJ5OiBSdXNzZWxsIEtpbmcgPGxpbnV4QGFybWxpbnV4Lm9yZy51az4K PiA+IFNpZ25lZC1vZmYtYnk6IE1hdHRoZXcgV2lsY294IDxtYXdpbGNveEBtaWNyb3NvZnQuY29t Pgo+IFRoYW5rcyBNYXR0aGV3LCBhcHBlYXJzIHRvIHNvbHZlIHRoZSBwcm9ibGVtLgo+IAo+IFRl c3RlZC1ieTogUnVzc2VsbCBLaW5nIDxybWsra2VybmVsQGFybWxpbnV4Lm9yZy51az4KPiAKCnBh dGNoIGFwcGxpZWQuCgp0aGFua3MsCnJ1aQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJt LWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21h aWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: rui.zhang@intel.com (Zhang Rui) Date: Mon, 13 Mar 2017 10:44:48 +0800 Subject: [BUG] v4.11-rc1: CPUFREQ Circular locking dependency In-Reply-To: <20170310234325.GB21222@n2100.armlinux.org.uk> References: <20170310150218.GW21222@n2100.armlinux.org.uk> <20170310234325.GB21222@n2100.armlinux.org.uk> Message-ID: <1489373088.5841.15.camel@intel.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Fri, 2017-03-10 at 23:43 +0000, Russell King - ARM Linux wrote: > On Fri, Mar 10, 2017 at 06:33:28PM +0000, Matthew Wilcox wrote: > > > > From cd5401d81633d5e48e39d67d4e65156e6759537e Mon Sep 17 00:00:00 > > 2001 > > From: Matthew Wilcox > > Date: Fri, 10 Mar 2017 13:22:53 -0500 > > Subject: [PATCH] thermal: Fix potential deadlock in cpu_cooling > > > > I expanded the scope of cooling_list_lock a little too far; it was > > not just covering cpufreq_dev_count, it was also covering the calls > > to cpufreq_register_notifier() and cpufreq_unregister_notifier(). > > Since cooling_list_lock is also used within > > cpufreq_thermal_notifier(), > > lockdep reports a potential deadlock.??I don't think that's > > actually > > possible, but it's easy enough to make it impossible by testing the > > condition under cooling_list_lock and dropping the lock before > > calling > > cpufreq_register_notifier(). > > > > As a bonus, I noticed that cpufreq_dev_count is only used for the > > purpose > > of knowing whether this is the first or last cooling device > > registered, > > and we know that anyway because we know whether the list > > transitioned > > between empty and not-empty.??So we can delete that variable too. > > > > Fixes: ae606089621ef0349402cfcbeca33a82abbd0fd0 > > Reported-by: Russell King > > Signed-off-by: Matthew Wilcox > Thanks Matthew, appears to solve the problem. > > Tested-by: Russell King > patch applied. thanks, rui