From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756095Ab0A1JTu (ORCPT ); Thu, 28 Jan 2010 04:19:50 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755771Ab0A1JTt (ORCPT ); Thu, 28 Jan 2010 04:19:49 -0500 Received: from smtp-out.google.com ([216.239.44.51]:9408 "EHLO smtp-out.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755511Ab0A1JTs (ORCPT ); Thu, 28 Jan 2010 04:19:48 -0500 DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:date:message-id:subject:from:to:cc: content-type:x-system-of-record; b=ZlIo+kDgDRRF1fVtF2iMUHVCkOap9svu/FdFNoH3lmaq5PC5Ta1BDKEpaKKR2nHzU 9nbrat92YQf9KTWAOP8HA== MIME-Version: 1.0 Date: Thu, 28 Jan 2010 10:19:45 +0100 Message-ID: Subject: [BUG] perf_event: circular lock dependency From: Stephane Eranian To: Peter Zijlstra Cc: mingo@elte.hu, linux-kernel@vger.kernel.org Content-Type: text/plain; charset=UTF-8 X-System-Of-Record: true Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On Intel Core, one of my test programs generate this kind of warning when it unmaps the sampling buffer after it has closed the events fds. [ 1729.440898] ======================================================= [ 1729.440913] [ INFO: possible circular locking dependency detected ] [ 1729.440922] 2.6.33-rc3-tip+ #281 [ 1729.440927] ------------------------------------------------------- [ 1729.440936] task_smpl/5498 is trying to acquire lock: [ 1729.440943] (&ctx->mutex){+.+...}, at: [] perf_event_release_kernel+0x2d/0xe0 [ 1729.440972] [ 1729.440973] but task is already holding lock: [ 1729.440997] (&mm->mmap_sem){++++++}, at: [] sys_munmap+0x42/0x80 [ 1729.441030] [ 1729.441030] which lock already depends on the new lock. [ 1729.441031] [ 1729.441066] [ 1729.441066] the existing dependency chain (in reverse order) is: [ 1729.441092] [ 1729.441093] -> #1 (&mm->mmap_sem){++++++}: [ 1729.441123] [] validate_chain+0xc17/0x1360 [ 1729.441151] [] __lock_acquire+0x373/0xb30 [ 1729.441170] [] lock_acquire+0x9c/0x100 [ 1729.441189] [] might_fault+0x84/0xb0 [ 1729.441207] [] perf_read+0x135/0x2d0 [ 1729.441225] [] vfs_read+0xc4/0x180 [ 1729.441245] [] sys_read+0x50/0x90 [ 1729.441263] [] system_call_fastpath+0x16/0x1b [ 1729.441284] [ 1729.441284] -> #0 (&ctx->mutex){+.+...}: [ 1729.441313] [] validate_chain+0x134d/0x1360 [ 1729.441332] [] __lock_acquire+0x373/0xb30 [ 1729.441351] [] lock_acquire+0x9c/0x100 [ 1729.441369] [] mutex_lock_nested+0x69/0x340 [ 1729.441389] [] perf_event_release_kernel+0x2d/0xe0 [ 1729.441409] [] perf_release+0x1b/0x20 [ 1729.441426] [] __fput+0x101/0x230 [ 1729.441444] [] fput+0x17/0x20 [ 1729.441462] [] remove_vma+0x51/0x90 [ 1729.441480] [] do_munmap+0x2e8/0x340 [ 1729.441498] [] sys_munmap+0x50/0x80 [ 1729.441516] [] system_call_fastpath+0x16/0x1b [ 1729.441535] [ 1729.441536] other info that might help us debug this: [ 1729.441537] [ 1729.441539] 1 lock held by task_smpl/5498: [ 1729.441539] #0: (&mm->mmap_sem){++++++}, at: [] sys_munmap+0x42/0x80 [ 1729.441539] [ 1729.441539] stack backtrace: [ 1729.441539] Pid: 5498, comm: task_smpl Not tainted 2.6.33-rc3-tip+ #281 [ 1729.441539] Call Trace: [ 1729.441539] [] print_circular_bug+0xea/0xf0 [ 1729.441539] [] validate_chain+0x134d/0x1360 [ 1729.441539] [] __lock_acquire+0x373/0xb30 [ 1729.441539] [] ? __lock_acquire+0x373/0xb30 [ 1729.441539] [] lock_acquire+0x9c/0x100 [ 1729.441539] [] ? perf_event_release_kernel+0x2d/0xe0 [ 1729.441539] [] mutex_lock_nested+0x69/0x340 [ 1729.441539] [] ? perf_event_release_kernel+0x2d/0xe0 [ 1729.441539] [] ? sched_clock_cpu+0xba/0xf0 [ 1729.441539] [] ? perf_event_release_kernel+0x2d/0xe0 [ 1729.441539] [] ? mark_held_locks+0x6f/0x90 [ 1729.441539] [] perf_event_release_kernel+0x2d/0xe0 [ 1729.441539] [] perf_release+0x1b/0x20 [ 1729.441539] [] __fput+0x101/0x230 [ 1729.441539] [] fput+0x17/0x20 [ 1729.441539] [] remove_vma+0x51/0x90 [ 1729.441539] [] do_munmap+0x2e8/0x340 [ 1729.441539] [] sys_munmap+0x50/0x80 [ 1729.441539] [] system_call_fastpath+0x16/0x1b