To whom it may concern. With kernel 3.10.x I see this lockdep warning in my boot log during the switch to nouveaufb: <6>[ 23.243923] fbcon: nouveaufb (fb0) is primary device <4>[ 23.245629] <4>[ 23.245631] ====================================================== <4>[ 23.245632] [ INFO: possible circular locking dependency detected ] <4>[ 23.245635] 3.10.3-capigig #1 Tainted: G W <4>[ 23.245637] ------------------------------------------------------- <4>[ 23.245639] swapper/0/0 is trying to acquire lock: <4>[ 23.245666] (&(&dev->vblank_time_lock)->rlock){-.....}, at: [] drm_handle_vblank+0x3a/0x28f [drm] <4>[ 23.245667] <4>[ 23.245667] but task is already holding lock: <4>[ 23.245710] (&(&event->lock)->rlock#2){-.....}, at: [] nouveau_event_trigger+0x25/0xcb [nouveau] <4>[ 23.245711] <4>[ 23.245711] which lock already depends on the new lock. <4>[ 23.245711] <4>[ 23.245712] <4>[ 23.245712] the existing dependency chain (in reverse order) is: <4>[ 23.245716] <4>[ 23.245716] -> #1 (&(&event->lock)->rlock#2){-.....}: <4>[ 23.245724] [] lock_acquire+0x7e/0x94 <4>[ 23.245730] [] _raw_spin_lock_irqsave+0x44/0x57 <4>[ 23.245758] [] nouveau_event_get+0x1b/0x80 [nouveau] <4>[ 23.245806] [] nouveau_drm_vblank_enable+0xb3/0xbf [nouveau] <4>[ 23.245819] [] drm_vblank_get+0x90/0x22c [drm] <4>[ 23.245831] [] drm_vblank_pre_modeset+0x34/0x49 [drm] <4>[ 23.245881] [] nv_crtc_prepare+0x48/0xdf [nouveau] <4>[ 23.245888] [] drm_crtc_helper_set_mode+0x25a/0x400 [drm_kms_helper] <4>[ 23.245893] [] drm_crtc_helper_set_config+0x6e7/0x976 [drm_kms_helper] <4>[ 23.245909] [] drm_mode_set_config_internal+0x25/0x52 [drm] <4>[ 23.245914] [] drm_fb_helper_set_par+0x59/0xa2 [drm_kms_helper] <4>[ 23.245919] [] fbcon_init+0x406/0x523 <4>[ 23.245923] [] visual_init+0xba/0x111 <4>[ 23.245927] [] do_bind_con_driver+0x1c7/0x2de <4>[ 23.245930] [] do_take_over_console+0x38/0x45 <4>[ 23.245933] [] do_fbcon_takeover+0x57/0x91 <4>[ 23.245936] [] fbcon_event_notify+0x4df/0x832 <4>[ 23.245940] [] notifier_call_chain+0x32/0x5e <4>[ 23.245944] [] __blocking_notifier_call_chain+0x46/0x5b <4>[ 23.245947] [] blocking_notifier_call_chain+0xf/0x11 <4>[ 23.245951] [] fb_notifier_call_chain+0x16/0x18 <4>[ 23.245955] [] register_framebuffer+0x28b/0x2b7 <4>[ 23.245960] [] drm_fb_helper_initial_config+0x38c/0x44f [drm_kms_helper] <4>[ 23.246010] [] nouveau_fbcon_init+0xe3/0xf3 [nouveau] <4>[ 23.246057] [] nouveau_drm_load+0x4a6/0x4ef [nouveau] <4>[ 23.246071] [] drm_get_pci_dev+0x14f/0x25a [drm] <4>[ 23.246117] [] nouveau_drm_probe+0x1d2/0x1f6 [nouveau] <4>[ 23.246122] [] local_pci_probe+0x39/0x61 <4>[ 23.246126] [] pci_device_probe+0xc8/0xf3 <4>[ 23.246130] [] driver_probe_device+0x12a/0x2f9 <4>[ 23.246133] [] __driver_attach+0x4a/0x6b <4>[ 23.246137] [] bus_for_each_dev+0x5c/0x89 <4>[ 23.246140] [] driver_attach+0x19/0x1b <4>[ 23.246143] [] bus_add_driver+0xe4/0x21e <4>[ 23.246146] [] driver_register+0x8e/0x108 <4>[ 23.246149] [] __pci_register_driver+0x5f/0x64 <4>[ 23.246163] [] drm_pci_init+0x8a/0xef [drm] <4>[ 23.246189] [] nouveau_drm_init+0x4d/0x1000 [nouveau] <4>[ 23.246193] [] do_one_initcall+0x9b/0x130 <4>[ 23.246197] [] load_module+0x1d83/0x20dd <4>[ 23.246201] [] SyS_init_module+0xd4/0xd6 <4>[ 23.246205] [] system_call_fastpath+0x16/0x1b <4>[ 23.246209] <4>[ 23.246209] -> #0 (&(&dev->vblank_time_lock)->rlock){-.....}: <4>[ 23.246212] [] __lock_acquire+0xc46/0xf61 <4>[ 23.246215] [] lock_acquire+0x7e/0x94 <4>[ 23.246218] [] _raw_spin_lock_irqsave+0x44/0x57 <4>[ 23.246230] [] drm_handle_vblank+0x3a/0x28f [drm] <4>[ 23.246277] [] nouveau_drm_vblank_handler+0x1a/0x21 [nouveau] <4>[ 23.246305] [] nouveau_event_trigger+0x52/0xcb [nouveau] <4>[ 23.246345] [] nv04_disp_intr+0x50/0xa2 [nouveau] <4>[ 23.246382] [] nouveau_mc_intr+0x5e/0xa6 [nouveau] <4>[ 23.246386] [] handle_irq_event_percpu+0x29/0x128 <4>[ 23.246389] [] handle_irq_event+0x3c/0x5c <4>[ 23.246393] [] handle_fasteoi_irq+0x76/0xaa <4>[ 23.246397] [] handle_irq+0x157/0x16a <4>[ 23.246400] [] do_IRQ+0x48/0x9f <4>[ 23.246403] [] ret_from_intr+0x0/0x13 <4>[ 23.246407] [] arch_cpu_idle+0x13/0x1d <4>[ 23.246410] [] cpu_startup_entry+0xec/0x149 <4>[ 23.246415] [] rest_init+0xc1/0xc8 <4>[ 23.246419] [] start_kernel+0x3da/0x3e7 <4>[ 23.246423] [] x86_64_start_reservations+0x2a/0x2c <4>[ 23.246426] [] x86_64_start_kernel+0xe8/0xef <4>[ 23.246427] <4>[ 23.246427] other info that might help us debug this: <4>[ 23.246427] <4>[ 23.246428] Possible unsafe locking scenario: <4>[ 23.246428] <4>[ 23.246429] CPU0 CPU1 <4>[ 23.246430] ---- ---- <4>[ 23.246433] lock(&(&event->lock)->rlock#2); <4>[ 23.246436] lock(&(&dev->vblank_time_lock)->rlock); <4>[ 23.246439] lock(&(&event->lock)->rlock#2); <4>[ 23.246441] lock(&(&dev->vblank_time_lock)->rlock); <4>[ 23.246442] <4>[ 23.246442] *** DEADLOCK *** <4>[ 23.246442] <4>[ 23.246444] 1 lock held by swapper/0/0: <4>[ 23.246475] #0: (&(&event->lock)->rlock#2){-.....}, at: [] nouveau_event_trigger+0x25/0xcb [nouveau] <4>[ 23.246476] <4>[ 23.246476] stack backtrace: <4>[ 23.246480] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 3.10.3-capigig #1 <4>[ 23.246482] Hardware name: /DQ965GF, BIOS CO96510J.86A.5953.2007.0730.2059 07/30/2007 <4>[ 23.246488] ffffffff81d97690 ffff8801a7c03b28 ffffffff81444164 ffff8801a7c03b78 <4>[ 23.246492] ffffffff8107d878 ffffffff8107dc49 ffff8801a7c03bc8 ffffffff81a10b10 <4>[ 23.246496] ffffffff81a10400 ffffffff81a10b10 ffffffff81a10ae8 0000000000000001 <4>[ 23.246497] Call Trace: <4>[ 23.246504] [] dump_stack+0x19/0x1d <4>[ 23.246508] [] print_circular_bug+0x1f8/0x209 <4>[ 23.246511] [] ? print_irq_inversion_bug+0x1d2/0x1d2 <4>[ 23.246515] [] __lock_acquire+0xc46/0xf61 <4>[ 23.246519] [] lock_acquire+0x7e/0x94 <4>[ 23.246532] [] ? drm_handle_vblank+0x3a/0x28f [drm] <4>[ 23.246536] [] _raw_spin_lock_irqsave+0x44/0x57 <4>[ 23.246548] [] ? drm_handle_vblank+0x3a/0x28f [drm] <4>[ 23.246558] [] drm_handle_vblank+0x3a/0x28f [drm] <4>[ 23.246558] [] ? nouveau_event_trigger+0x25/0xcb [nouveau] <4>[ 23.246558] [] nouveau_drm_vblank_handler+0x1a/0x21 [nouveau] <4>[ 23.246558] [] nouveau_event_trigger+0x52/0xcb [nouveau] <4>[ 23.246558] [] nv04_disp_intr+0x50/0xa2 [nouveau] <4>[ 23.246558] [] nouveau_mc_intr+0x5e/0xa6 [nouveau] <4>[ 23.246558] [] handle_irq_event_percpu+0x29/0x128 <4>[ 23.246558] [] handle_irq_event+0x3c/0x5c <4>[ 23.246558] [] ? _raw_spin_lock+0x3e/0x45 <4>[ 23.246558] [] ? handle_fasteoi_irq+0x19/0xaa <4>[ 23.246558] [] handle_fasteoi_irq+0x76/0xaa <4>[ 23.246558] [] handle_irq+0x157/0x16a <4>[ 23.246558] [] ? __local_bh_enable+0x9a/0x9e <4>[ 23.246558] [] do_IRQ+0x48/0x9f <4>[ 23.246558] [] common_interrupt+0x6f/0x6f <4>[ 23.246558] [] ? retint_restore_args+0xe/0xe <4>[ 23.246558] [] ? default_idle+0x10/0x17 <4>[ 23.246558] [] ? default_idle+0xe/0x17 <4>[ 23.246558] [] arch_cpu_idle+0x13/0x1d <4>[ 23.246558] [] cpu_startup_entry+0xec/0x149 <4>[ 23.246558] [] rest_init+0xc1/0xc8 <4>[ 23.246558] [] ? rest_init+0x40/0xc8 <4>[ 23.246558] [] start_kernel+0x3da/0x3e7 <4>[ 23.246558] [] ? repair_env_string+0x56/0x56 <4>[ 23.246558] [] x86_64_start_reservations+0x2a/0x2c <4>[ 23.246558] [] x86_64_start_kernel+0xe8/0xef <6>[ 23.256206] nouveau [ DRM] 0xD179: Parsing digital output script table <6>[ 23.319086] nouveau [ DRM] 0xD1C2: Parsing digital output script table <6>[ 23.369297] Console: switching to colour frame buffer device 160x64 <6>[ 23.479124] nouveau 0000:01:00.0: fb0: nouveaufb frame buffer device <6>[ 23.480107] nouveau 0000:01:00.0: registered panic notifier <6>[ 23.481097] [drm] Initialized nouveau 1.1.1 20120801 for 0000:01:00.0 on minor 0 The warning appears with kernels 3.10.3 and 3.10.1 but not 3.9.x. The W taint flag seems to come from: <4>[ 0.000000] WARNING: BIOS bug: CPU MTRRs don't cover all of memory, losing 64MB of RAM. The machine is an Intel Pentium D on an Intel DQ965GF board (ICH7 chipset) with an nVidia GeForce 6200TC PCIe card and dual monitors, running a 64 bit kernel. Everything is running fine so it appears to be a false positive. -- Tilman Schmidt E-Mail: tilman@imap.cc Bonn, Germany Diese Nachricht besteht zu 100% aus wiederverwerteten Bits. Ungeöffnet mindestens haltbar bis: (siehe Rückseite)