From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Rostedt Subject: Re: lockdep splat in CPU hotplug Date: Tue, 21 Oct 2014 10:58:10 -0400 Message-ID: <20141021145809.GA799@home.goodmis.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from cdptpa-outbound-snat.email.rr.com ([107.14.166.225]:40090 "EHLO cdptpa-oedge-vip.email.rr.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751191AbaJUO73 (ORCPT ); Tue, 21 Oct 2014 10:59:29 -0400 Content-Disposition: inline In-Reply-To: Sender: linux-pm-owner@vger.kernel.org List-Id: linux-pm@vger.kernel.org To: Jiri Kosina Cc: Peter Zijlstra , Ingo Molnar , "Rafael J. Wysocki" , Pavel Machek , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org On Tue, Oct 21, 2014 at 01:09:04PM +0200, Jiri Kosina wrote: > Hi, > > I am seeing the lockdep report below when resuming from suspend-to-disk > with current Linus' tree (c2661b80609). > > The reason for CCing Ingo and Peter is that I can't make any sense of one > of the stacktraces lockdep is providing. > > Please have a look at the very first stacktrace in the dump, where lockdep > is trying to explain where cpu_hotplug.lock#2 has been acquired. It seems > to imply that cpuidle_pause() is taking cpu_hotplug.lock, but that's not > the case at all. > > What am I missing? > > > -> #1 (cpu_hotplug.lock#2){+.+.+.}: > [] lock_acquire+0xac/0x130 > [] mutex_lock_nested+0x5c/0x3b0 > [] cpuidle_pause+0x12/0x30 > [] dpm_suspend_noirq+0x44/0x340 > [] dpm_suspend_end+0x38/0x80 > [] hibernation_snapshot+0xcd/0x370 > [] hibernate+0x168/0x210 > [] state_store+0xe4/0xf0 > [] kobj_attr_store+0xf/0x20 > [] sysfs_kf_write+0x43/0x60 > [] kernfs_fop_write+0xe7/0x170 > [] vfs_write+0xb2/0x1f0 > [] SyS_write+0x44/0xb0 > [] system_call_fastpath+0x16/0x1b Yeah, this backtrace looks totally bogus. Unless there's some magic going on with grabbing the get_online_cpus here? Could you send your config. Maybe it has to do with some debug magic? -- Steve