From: "Michael S. Tsirkin" <m.s.tsirkin@gmail.com>
To: Dave Airlie <airlied@linux.ie>, dri-devel@lists.sourceforge.net
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Kernel Testers List <kernel-testers@vger.kernel.org>,
"Rafael J. Wysocki" <rjw@sisk.pl>
Subject: Re: [Bug #12574] possible circular locking dependency detected
Date: Wed, 11 Feb 2009 00:37:12 +0200 [thread overview]
Message-ID: <20090210223711.GA6809@google.com> (raw)
In-Reply-To: <sWhNs83kKPE.A.4cG.E30jJB@chimera>
Dave, dri guys,
Could you take a look at this circular dependency please (below)? I
observe it when suspending laptop with radeon drm loaded and with
lockdep enabled. It seems that the root of the problem is that
various vm ops such as drm_vm_open, drm_mmap) are called with mm
semaphore taken, and take dev->struct_mutex. On the other hand,
drm_rmmap_locked is called with dev->struct_mutex, and calls mtrr_del
which depends on mm semaphore indirectly.
What do you think?
Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=12574
Subject : possible circular locking dependency detected
Submitter : Michael S. Tsirkin <m.s.tsirkin@gmail.com>
Date : 2009-01-29 11:35 (11 days old)
/var/log/message dump below.
=======================================================
[ INFO: possible circular locking dependency detected ]
2.6.29-rc4-mst-debug #95
-------------------------------------------------------
sleep.sh/6730 is trying to acquire lock:
(&per_cpu(cpu_policy_rwsem, cpu)){----}, at: [<c02c0da1>] lock_policy_rwsem_write+0x31/0x70
but task is already holding lock:
(&cpu_hotplug.lock){--..}, at: [<c012d89a>] cpu_hotplug_begin+0x1a/0x50
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #6 (&cpu_hotplug.lock){--..}:
[<c0152221>] validate_chain+0xb51/0x1150
[<c0152a66>] __lock_acquire+0x246/0xa50
[<c01532d0>] lock_acquire+0x60/0x80
[<c0366c5d>] mutex_lock_nested+0x9d/0x2e0
[<c012d8fc>] get_online_cpus+0x2c/0x40
[<c010d96f>] mtrr_del_page+0x2f/0x160
[<c010dada>] mtrr_del+0x3a/0x50
[<f851a342>] drm_rmmap_locked+0xc2/0x180 [drm]
[<f8521d31>] drm_master_destroy+0x151/0x160 [drm]
[<c022a37c>] kref_put+0x2c/0x80
[<f8521af2>] drm_master_put+0x12/0x20 [drm]
[<f851dd1b>] drm_release+0x25b/0x4a0 [drm]
[<c019781d>] __fput+0xbd/0x1d0
[<c0197c09>] fput+0x19/0x20
[<c0194a47>] filp_close+0x47/0x70
[<c0194ada>] sys_close+0x6a/0xc0
[<c0103215>] sysenter_do_call+0x12/0x35
[<ffffffff>] 0xffffffff
-> #5 (&dev->struct_mutex){--..}:
[<c0152221>] validate_chain+0xb51/0x1150
[<c0152a66>] __lock_acquire+0x246/0xa50
[<c01532d0>] lock_acquire+0x60/0x80
[<c0366c5d>] mutex_lock_nested+0x9d/0x2e0
[<f8522add>] drm_vm_open+0x2d/0x50 [drm]
[<c012a397>] dup_mm+0x227/0x310
[<c012b22f>] copy_process+0xd7f/0x1020
[<c012b5e8>] do_fork+0x78/0x320
[<c01017ef>] sys_clone+0x2f/0x40
[<c0103215>] sysenter_do_call+0x12/0x35
[<ffffffff>] 0xffffffff
-> #4 (&mm->mmap_sem/1){--..}:
[<c0152221>] validate_chain+0xb51/0x1150
[<c0152a66>] __lock_acquire+0x246/0xa50
[<c01532d0>] lock_acquire+0x60/0x80
[<c01441e8>] down_write_nested+0x48/0x70
[<c012a238>] dup_mm+0xc8/0x310
[<c012b22f>] copy_process+0xd7f/0x1020
[<c012b5e8>] do_fork+0x78/0x320
[<c01017ef>] sys_clone+0x2f/0x40
[<c0103292>] syscall_call+0x7/0xb
[<ffffffff>] 0xffffffff
-> #3 (&mm->mmap_sem){----}:
[<c0152221>] validate_chain+0xb51/0x1150
[<c0152a66>] __lock_acquire+0x246/0xa50
[<c01532d0>] lock_acquire+0x60/0x80
[<c0183d73>] might_fault+0x73/0x90
[<c022f633>] copy_to_user+0x33/0x60
[<c01a3975>] filldir64+0xb5/0xe0
[<c01e0c2f>] sysfs_readdir+0x11f/0x1f0
[<c01a3b0d>] vfs_readdir+0x8d/0xb0
[<c01a3b99>] sys_getdents64+0x69/0xc0
[<c0103292>] syscall_call+0x7/0xb
[<ffffffff>] 0xffffffff
-> #2 (sysfs_mutex){--..}:
[<c0152221>] validate_chain+0xb51/0x1150
[<c0152a66>] __lock_acquire+0x246/0xa50
[<c01532d0>] lock_acquire+0x60/0x80
[<c0366c5d>] mutex_lock_nested+0x9d/0x2e0
[<c01e0f0c>] sysfs_addrm_start+0x2c/0xb0
[<c01e14a0>] create_dir+0x40/0x90
[<c01e1556>] sysfs_create_subdir+0x16/0x20
[<c01e2770>] internal_create_group+0x50/0x1a0
[<c01e28ec>] sysfs_create_group+0xc/0x10
[<f81674fc>] cpufreq_stat_notifier_policy+0x9c/0x230 [cpufreq_stats]
[<c036b007>] notifier_call_chain+0x37/0x80
[<c0144d24>] __blocking_notifier_call_chain+0x44/0x60
[<c0144d5a>] blocking_notifier_call_chain+0x1a/0x20
[<c02c0226>] __cpufreq_set_policy+0xd6/0x230
[<c02c14a8>] cpufreq_add_dev+0x4e8/0x6b0
[<c029d5a5>] sysdev_driver_register+0x75/0x130
[<c02bff55>] cpufreq_register_driver+0xb5/0x1c0
[<f808b0bd>] uinput_destroy_device+0x4d/0x60 [uinput]
[<c010111a>] do_one_initcall+0x2a/0x160
[<c015bdf5>] sys_init_module+0x85/0x1b0
[<c0103215>] sysenter_do_call+0x12/0x35
[<ffffffff>] 0xffffffff
-> #1 ((cpufreq_policy_notifier_list).rwsem){----}:
[<c0152221>] validate_chain+0xb51/0x1150
[<c0152a66>] __lock_acquire+0x246/0xa50
[<c01532d0>] lock_acquire+0x60/0x80
[<c0367441>] down_read+0x41/0x60
[<c0144d0a>] __blocking_notifier_call_chain+0x2a/0x60
[<c0144d5a>] blocking_notifier_call_chain+0x1a/0x20
[<c02c1165>] cpufreq_add_dev+0x1a5/0x6b0
[<c029d5a5>] sysdev_driver_register+0x75/0x130
[<c02bff55>] cpufreq_register_driver+0xb5/0x1c0
[<f808b0bd>] uinput_destroy_device+0x4d/0x60 [uinput]
[<c010111a>] do_one_initcall+0x2a/0x160
[<c015bdf5>] sys_init_module+0x85/0x1b0
[<c0103215>] sysenter_do_call+0x12/0x35
[<ffffffff>] 0xffffffff
-> #0 (&per_cpu(cpu_policy_rwsem, cpu)){----}:
[<c0151cbb>] validate_chain+0x5eb/0x1150
[<c0152a66>] __lock_acquire+0x246/0xa50
[<c01532d0>] lock_acquire+0x60/0x80
[<c03674a1>] down_write+0x41/0x60
[<c02c0da1>] lock_policy_rwsem_write+0x31/0x70
[<c03655a5>] cpufreq_cpu_callback+0x45/0x80
[<c036b007>] notifier_call_chain+0x37/0x80
[<c0144b49>] __raw_notifier_call_chain+0x19/0x20
[<c03574c9>] _cpu_down+0x79/0x280
[<c012da5c>] disable_nonboot_cpus+0x7c/0x100
[<c015cac5>] suspend_devices_and_enter+0xd5/0x170
[<c015cd40>] enter_state+0x1b0/0x1c0
[<c015cddf>] state_store+0x8f/0xd0
[<c0228cf4>] kobj_attr_store+0x24/0x30
[<c01e02d2>] sysfs_write_file+0xa2/0x100
[<c0196e89>] vfs_write+0x99/0x130
[<c01973cd>] sys_write+0x3d/0x70
[<c0103215>] sysenter_do_call+0x12/0x35
[<ffffffff>] 0xffffffff
other info that might help us debug this:
4 locks held by sleep.sh/6730:
#0: (&buffer->mutex){--..}, at: [<c01e025b>] sysfs_write_file+0x2b/0x100
#1: (pm_mutex){--..}, at: [<c015cbdb>] enter_state+0x4b/0x1c0
#2: (cpu_add_remove_lock){--..}, at: [<c012d83f>] cpu_maps_update_begin+0xf/0x20
#3: (&cpu_hotplug.lock){--..}, at: [<c012d89a>] cpu_hotplug_begin+0x1a/0x50
stack backtrace:
Pid: 6730, comm: sleep.sh Not tainted 2.6.29-rc4-mst-debug #95
Call Trace:
[<c015166c>] print_circular_bug_tail+0x7c/0xe0
[<c0151cbb>] validate_chain+0x5eb/0x1150
[<c0152a66>] __lock_acquire+0x246/0xa50
[<c013cf1e>] ? __cancel_work_timer+0x2e/0x190
[<c01532d0>] lock_acquire+0x60/0x80
[<c02c0da1>] ? lock_policy_rwsem_write+0x31/0x70
[<c03674a1>] down_write+0x41/0x60
[<c02c0da1>] ? lock_policy_rwsem_write+0x31/0x70
[<c02c0da1>] lock_policy_rwsem_write+0x31/0x70
[<c03655a5>] cpufreq_cpu_callback+0x45/0x80
[<c036b007>] notifier_call_chain+0x37/0x80
[<c0144b49>] __raw_notifier_call_chain+0x19/0x20
[<c03574c9>] _cpu_down+0x79/0x280
[<c012d83f>] ? cpu_maps_update_begin+0xf/0x20
[<c012da5c>] disable_nonboot_cpus+0x7c/0x100
[<c02531cb>] ? acpi_disable_all_gpes+0x25/0x2a
[<c015cac5>] suspend_devices_and_enter+0xd5/0x170
[<c015cd40>] enter_state+0x1b0/0x1c0
[<c015cddf>] state_store+0x8f/0xd0
[<c015cd50>] ? state_store+0x0/0xd0
[<c0228cf4>] kobj_attr_store+0x24/0x30
[<c01e02d2>] sysfs_write_file+0xa2/0x100
[<c0196e89>] vfs_write+0x99/0x130
[<c0103247>] ? sysenter_exit+0xf/0x18
[<c01e0230>] ? sysfs_write_file+0x0/0x100
[<c01973cd>] sys_write+0x3d/0x70
[<c0103215>] sysenter_do_call+0x12/0x35
--
MST
next prev parent reply other threads:[~2009-02-10 22:36 UTC|newest]
Thread overview: 118+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-08 19:05 2.6.29-rc4: Reported regressions from 2.6.28 Rafael J. Wysocki
2009-02-08 19:06 ` [Bug #12414] iwl4965 cannot use "ap auto" on latest 2.6.28/29? Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12444] X hangs following switch from radeonfb console - Bisected Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12491] i915 lockdep warning Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12490] ath5k related kernel panic in 2.6.29-rc1 Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12419] possible circular locking dependency on i915 dma Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12441] Xorg can't use dri on radeon X1950 AGP Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12415] WARNING: at drivers/net/wireless/iwlwifi/iwl-sta.c:689 Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12418] Repeated ioctl(4, 0x40046445, ..) loop in glxgears Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12497] new barrier warnings in 2.6.29-rc1 Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12494] Sony backlight regression from 2.6.28 to 29-rc Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12496] swsusp cannot find resume device (sometimes) Rafael J. Wysocki
2009-02-09 0:38 ` Arjan van de Ven
2009-02-09 2:27 ` Greg KH
2009-02-09 23:46 ` Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12501] build bug in eeepc-laptop.c Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12502] pipe_read oops on sh Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12499] Problem with using bluetooth adaper connected to usb port Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12503] [slab corruption] BUG key_jar: Poison overwritten Rafael J. Wysocki
2009-02-08 22:12 ` Ingo Molnar
2009-02-09 0:40 ` Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12551] end_request: I/O error, dev cciss/c0d0, sector 87435720 Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12508] "powerpc/pci: Reserve legacy regions on PCI" broke my G3 Rafael J. Wysocki
2009-02-08 23:38 ` Mikael Pettersson
2009-02-09 0:39 ` Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12571] Suspend-resume on Dell Latitude D410 newly broken in 2.6.29-rc* Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12510] 2.6.29-rc2 dies on startup Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12574] possible circular locking dependency detected Rafael J. Wysocki
2009-02-09 13:59 ` Michael S. Tsirkin
2009-02-10 22:37 ` Michael S. Tsirkin [this message]
2009-02-10 22:41 ` Eric Anholt
2009-02-11 7:10 ` Thomas Hellström
2009-02-08 19:21 ` [Bug #12604] Commit 31a12666d8f0c22235297e1c1575f82061480029 slows down Berkeley DB Rafael J. Wysocki
2009-02-10 16:28 ` Jan Kara
2009-02-12 1:47 ` Nick Piggin
2009-02-12 2:02 ` Linus Torvalds
2009-02-12 3:34 ` Nick Piggin
2009-02-12 14:32 ` Jan Kara
2009-02-14 14:29 ` Theodore Tso
2009-02-14 19:53 ` Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12600] i915 lockdep warning Rafael J. Wysocki
2009-02-09 1:12 ` Roland Dreier
2009-02-09 17:21 ` Bob Copeland
2009-02-08 19:21 ` [Bug #12610] sync-Regression in 2.6.28.2? Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12609] v2.6.29-rc2 libata sff 32bit PIO regression Rafael J. Wysocki
2009-02-09 10:25 ` Hugh Dickins
2009-02-08 19:21 ` [Bug #12608] 2.6.29-rc powerpc G5 Xorg legacy_mem regression Rafael J. Wysocki
2009-02-09 10:24 ` Hugh Dickins
2009-02-08 19:21 ` [Bug #12606] fb_mmap: circular locking dependency on hibernation Rafael J. Wysocki
2009-02-08 22:00 ` Andrea Righi
2009-02-08 22:06 ` Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12617] unable to compile e100 firmware into kernel Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12615] boot hangs while bringing up gianfar ethernet Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12613] [Suspend regression][DRM, RADEON] Rafael J. Wysocki
2009-02-08 22:07 ` etienne
2009-02-08 22:11 ` Rafael J. Wysocki
2009-02-09 2:26 ` Dave Airlie
2009-02-09 18:08 ` etienne
2009-02-09 19:31 ` etienne
2009-02-09 5:50 ` Soeren Sonnenburg
2009-02-08 19:21 ` [Bug #12618] hackbench [pthread mode] regression with 2.6.29-rc3 Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12649] Early crash " Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12650] Strange load average and ksoftirqd behavior with 2.6.29-rc2-git1 Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12656] iwl3945 broken after hibernation: Wait for START_ALIVE timeout after 2000ms Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12659] Failure to resume two Sandisk USB flash drives attached to a Belkin USB Busport Mobile (F5U022) Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12660] Linux 2.6.28.3 freezing on a 32-bits x86 Thinkpad T43p Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12661] commit 64ff3b938ec6782e6585a83d5459b98b0c3f6eb8 breaks rlogin Rafael J. Wysocki
2009-02-09 4:23 ` Herbert Xu
2009-02-14 22:35 ` Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12662] linux 2.6.29-rc3 kernel failure with mptsas Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12664] viafb triggers BUG at mm/vmalloc.c:294 Rafael J. Wysocki
2009-02-09 10:17 ` wixor
2009-02-14 22:39 ` Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12666] Build failure with latest -git: btrfs on ppc64 Rafael J. Wysocki
2009-02-08 21:53 ` Kyle McMartin
2009-02-08 22:08 ` Rafael J. Wysocki
2009-02-10 20:00 ` Chuck Ebbert
2009-02-08 19:21 ` [Bug #12667] Badness at kernel/time/timekeeping.c:98 in pmud (timekeeping_suspended) Rafael J. Wysocki
2009-02-09 7:53 ` Paul Collins
2009-02-09 9:18 ` Ingo Molnar
2009-02-14 22:42 ` Rafael J. Wysocki
2009-02-16 7:17 ` Paul Collins
2009-02-16 9:10 ` Benjamin Herrenschmidt
2009-02-16 10:47 ` Paul Collins
2009-02-19 8:27 ` Paul Collins
2009-02-19 8:38 ` Benjamin Herrenschmidt
2009-02-19 13:00 ` Rafael J. Wysocki
2009-02-19 21:47 ` Benjamin Herrenschmidt
2009-02-19 22:08 ` Rafael J. Wysocki
2009-02-19 20:17 ` Thomas Gleixner
2009-02-19 21:23 ` Rafael J. Wysocki
2009-02-19 21:51 ` Benjamin Herrenschmidt
2009-02-22 19:31 ` Thomas Gleixner
2009-02-22 20:46 ` Benjamin Herrenschmidt
2009-02-09 10:32 ` Thomas Gleixner
2009-02-08 19:21 ` [Bug #12663] Commit 8c7e58e690ae60ab4215b025f433ed4af261e103 breaks resume Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12668] USB flash disk surprise disconnect Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12670] BUG: unable to handle kernel paging request at pin_to_kill+0x21 Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12669] 2.6.28.4 regression: mmap fails if mlockall used Rafael J. Wysocki
2009-02-09 10:32 ` Hugh Dickins
2009-02-08 19:21 ` [Bug #12671] uvc_status_cleanup(): undefined reference to `input_unregister_device' Rafael J. Wysocki
2009-02-08 21:55 ` 2.6.29-rc4: Reported regressions from 2.6.28 Linus Torvalds
2009-02-08 22:04 ` Rafael J. Wysocki
2009-02-08 21:57 ` [linux-pm] " Alan Stern
2009-02-09 0:43 ` Rafael J. Wysocki
2009-02-09 7:36 ` Stefan Richter
-- strict thread matches above, loose matches on Subject: below --
2009-04-06 18:54 2.6.29-git13: " Rafael J. Wysocki
2009-04-06 19:05 ` [Bug #12574] possible circular locking dependency detected Rafael J. Wysocki
2009-03-21 16:28 2.6.29-rc8-git5: Reported regressions from 2.6.28 Rafael J. Wysocki
2009-03-21 16:39 ` [Bug #12574] possible circular locking dependency detected Rafael J. Wysocki
2009-03-14 19:01 2.6.29-rc8: Reported regressions from 2.6.28 Rafael J. Wysocki
2009-03-14 19:05 ` [Bug #12574] possible circular locking dependency detected Rafael J. Wysocki
2009-03-16 0:24 ` Michael S. Tsirkin
2009-03-19 13:03 ` Rafael J. Wysocki
2009-03-03 19:22 2.6.29-rc6-git7: Reported regressions from 2.6.28 Rafael J. Wysocki
2009-03-03 19:25 ` [Bug #12574] possible circular locking dependency detected Rafael J. Wysocki
2009-03-03 22:19 ` Michael S. Tsirkin
2009-03-03 22:42 ` Rafael J. Wysocki
2009-03-04 23:32 ` Michael S. Tsirkin
2009-02-23 21:45 2.6.29-rc6: Reported regressions from 2.6.28 Rafael J. Wysocki
2009-02-23 21:48 ` [Bug #12574] possible circular locking dependency detected Rafael J. Wysocki
2009-02-14 20:35 2.6.29-rc5: Reported regressions from 2.6.28 Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12574] possible circular locking dependency detected Rafael J. Wysocki
2009-02-04 10:21 2.6.29-rc3-git6: Reported regressions from 2.6.28 Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12574] possible circular locking dependency detected Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090210223711.GA6809@google.com \
--to=m.s.tsirkin@gmail.com \
--cc=airlied@linux.ie \
--cc=dri-devel@lists.sourceforge.net \
--cc=kernel-testers@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rjw@sisk.pl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).