From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964778AbcHBM3G (ORCPT ); Tue, 2 Aug 2016 08:29:06 -0400 Received: from mga09.intel.com ([134.134.136.24]:11219 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934785AbcHBM1N (ORCPT ); Tue, 2 Aug 2016 08:27:13 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,460,1464678000"; d="scan'208";a="1033595122" From: Jani Nikula To: Jiri Kosina , Linus Torvalds Cc: Dave Airlie , Daniel Vetter , DRI mailing list , Linux Kernel Mailing List , Chris Wilson Subject: Re: [git pull] drm for v4.8 In-Reply-To: Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: User-Agent: Notmuch/0.22+12~gbdd9442 (http://notmuchmail.org) Emacs/24.4.1 (x86_64-pc-linux-gnu) Date: Tue, 02 Aug 2016 15:27:04 +0300 Message-ID: <87fuqns6ef.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 02 Aug 2016, Jiri Kosina wrote: > On Mon, 1 Aug 2016, Linus Torvalds wrote: > >> > This is the main drm pull request for 4.8, I'm down with a cold at the moment >> > so hopefully this isn't in too bad a state, I finished pulling stuff last >> > week mostly (nouveau fixes just went in today), so only this message should >> > be influenced by illness. Apologies to anyone who's major feature I missed :-) >> > >> > i915: >> > BXT support enabled by default >> > GVT-g infrastructure >> > GuC command submission and fixes >> > BXT workarounds >> > SKL/BKL workarounds >> > Demidlayering device registration >> > Thundering herd fixes >> > Missing pci ids >> > Atomic updates >> >> Hmm. I did the merge and pushed it out, but testing it on my laptop >> shows some very annoying flickering problem. > > In addition to that, what I see with current git (HEAD == 731c7d3a205, > i.e. the drm merge) is lockdep report during bootup about AB-BA between > mode_config.mutex and fb_notifier_list rwsem; will probably not have time > to look into it more (look at the code and / or bisect) until tomorrow, so > sending out early as a heads-up. > > Also, trying to suspend the machine to disk hangs, with the "suspend" LED > constantly blinking, LCD being blank, but the machine never actually > powering off. Not sure whether it might not be the very deadlock actually > triggering for real. There was [1] before my vacation to fix this, but it doesn't seem to have gone anywhere since. And it doesn't refer what caused the lockdep splat to begin with. BR, Jani. [1] http://patchwork.freedesktop.org/patch/msgid/1467286256-8870-1-git-send-email-chris@chris-wilson.co.uk > > > [ 8.731638] fbcon: inteldrmfb (fb0) is primary device > > [ 8.732611] ====================================================== > [ 8.732612] [ INFO: possible circular locking dependency detected ] > [ 8.732614] 4.7.0-10753-g731c7d3 #459 Not tainted > [ 8.732614] ------------------------------------------------------- > [ 8.732615] kworker/u8:3/60 is trying to acquire lock: > [ 8.732650] (&dev->mode_config.mutex){+.+.+.}, at: [] drm_modeset_lock_all+0x40/0x120 [drm] > [ 8.732651] > but task is already holding lock: > [ 8.732657] ((fb_notifier_list).rwsem){++++.+}, at: [] __blocking_notifier_call_chain+0x3a/0x70 > [ 8.732658] > which lock already depends on the new lock. > > [ 8.732658] > the existing dependency chain (in reverse order) is: > [ 8.732661] > -> #1 ((fb_notifier_list).rwsem){++++.+}: > [ 8.732665] [] lock_acquire+0xb0/0x1e0 > [ 8.732669] [] down_write+0x55/0xc0 > [ 8.732671] [] blocking_notifier_chain_register+0x21/0xb0 > [ 8.732674] [] fb_register_client+0x18/0x20 > [ 8.732676] [] backlight_device_register+0x138/0x250 > [ 8.732746] [] intel_backlight_device_register+0xa2/0x160 [i915] > [ 8.732791] [] intel_connector_register+0xe/0x10 [i915] > [ 8.732809] [] drm_connector_register+0x49/0x80 [drm] > [ 8.732827] [] drm_modeset_register_all+0x1d0/0x260 [drm] > [ 8.732843] [] drm_dev_register+0xc2/0xd0 [drm] > [ 8.732878] [] i915_driver_load+0x745/0x13e0 [i915] > [ 8.732914] [] i915_pci_probe+0x4f/0x70 [i915] > [ 8.732917] [] local_pci_probe+0x45/0xa0 > [ 8.732920] [] pci_device_probe+0xe1/0x130 > [ 8.732923] [] driver_probe_device+0x1a8/0x460 > [ 8.732925] [] __driver_attach+0xcd/0xf0 > [ 8.732927] [] bus_for_each_dev+0x64/0xa0 > [ 8.732929] [] driver_attach+0x1e/0x20 > [ 8.732931] [] bus_add_driver+0x1d3/0x290 > [ 8.732933] [] driver_register+0x60/0xe0 > [ 8.732935] [] __pci_register_driver+0x60/0x70 > [ 8.732972] [] i915_init+0x5d/0x64 [i915] > [ 8.732975] [] do_one_initcall+0x3d/0x160 > [ 8.732979] [] do_init_module+0x60/0x1dc > [ 8.732982] [] load_module+0x142e/0x1bf0 > [ 8.732984] [] SYSC_finit_module+0xa9/0xd0 > [ 8.732986] [] SyS_finit_module+0xe/0x10 > [ 8.732989] [] entry_SYSCALL_64_fastpath+0x1c/0xac > [ 8.732992] > -> #0 (&dev->mode_config.mutex){+.+.+.}: > [ 8.732995] [] __lock_acquire+0x16cc/0x1700 > [ 8.732997] [] lock_acquire+0xb0/0x1e0 > [ 8.732999] [] mutex_lock_nested+0x71/0x390 > [ 8.733019] [] drm_modeset_lock_all+0x40/0x120 [drm] > [ 8.733034] [] drm_fb_helper_restore_fbdev_mode_unlocked+0x2b/0x80 [drm_kms_helper] > [ 8.733043] [] drm_fb_helper_set_par+0x2c/0x50 [drm_kms_helper] > [ 8.733088] [] intel_fbdev_set_par+0x1a/0x60 [i915] > [ 8.733091] [] fbcon_init+0x4d8/0x550 > [ 8.733094] [] visual_init+0xd6/0x130 > [ 8.733097] [] do_bind_con_driver+0x146/0x310 > [ 8.733099] [] do_take_over_console+0x106/0x180 > [ 8.733101] [] do_fbcon_takeover+0x57/0xb0 > [ 8.733104] [] fbcon_event_notify+0x726/0x870 > [ 8.733106] [] notifier_call_chain+0x4e/0xa0 > [ 8.733109] [] __blocking_notifier_call_chain+0x53/0x70 > [ 8.733111] [] blocking_notifier_call_chain+0x16/0x20 > [ 8.733113] [] fb_notifier_call_chain+0x1b/0x20 > [ 8.733116] [] register_framebuffer+0x239/0x320 > [ 8.733126] [] drm_fb_helper_initial_config+0x25a/0x3a3 [drm_kms_helper] > [ 8.733169] [] intel_fbdev_initial_config+0x18/0x30 [i915] > [ 8.733172] [] async_run_entry_fn+0x4a/0x140 > [ 8.733174] [] process_one_work+0x1de/0x670 > [ 8.733176] [] worker_thread+0x125/0x4a0 > [ 8.733178] [] kthread+0xf2/0x110 > [ 8.733181] [] ret_from_fork+0x1f/0x40 > [ 8.733181] > other info that might help us debug this: > > [ 8.733182] Possible unsafe locking scenario: > > [ 8.733183] CPU0 CPU1 > [ 8.733183] ---- ---- > [ 8.733185] lock((fb_notifier_list).rwsem); > [ 8.733186] lock(&dev->mode_config.mutex); > [ 8.733187] lock((fb_notifier_list).rwsem); > [ 8.733188] lock(&dev->mode_config.mutex); > [ 8.733189] > *** DEADLOCK *** > > [ 8.733190] 6 locks held by kworker/u8:3/60: > [ 8.733194] #0: ("events_unbound"){.+.+.+}, at: [] process_one_work+0x15f/0x670 > [ 8.733198] #1: ((&entry->work)){+.+.+.}, at: [] process_one_work+0x15f/0x670 > [ 8.733201] #2: (registration_lock){+.+.+.}, at: [] register_framebuffer+0x27/0x320 > [ 8.733205] #3: (console_lock){+.+.+.}, at: [] register_framebuffer+0x256/0x320 > [ 8.733208] #4: (&fb_info->lock){+.+.+.}, at: [] lock_fb_info+0x1d/0x40 > [ 8.733212] #5: ((fb_notifier_list).rwsem){++++.+}, at: [] __blocking_notifier_call_chain+0x3a/0x70 > [ 8.733212] > stack backtrace: > [ 8.733214] CPU: 1 PID: 60 Comm: kworker/u8:3 Not tainted 4.7.0-10753-g731c7d3 #459 > [ 8.733215] Hardware name: LENOVO 7470BN2/7470BN2, BIOS 6DET38WW (2.02 ) 12/19/2008 > [ 8.733218] Workqueue: events_unbound async_run_entry_fn > [ 8.733221] 0000000000000000 ffff95f0b77537d8 ffffffff8d36c09e ffffffff8e822d00 > [ 8.733224] ffffffff8e822d00 ffff95f0b7753818 ffffffff8d18205b ffff95f0b7753850 > [ 8.733226] ffff95f0b774d718 0000000000000005 0000000000000006 ffff95f0b774cd40 > [ 8.733227] Call Trace: > [ 8.733230] [] dump_stack+0x67/0x99 > [ 8.733232] [] print_circular_bug+0x200/0x20e > [ 8.733235] [] __lock_acquire+0x16cc/0x1700 > [ 8.733238] [] ? sched_clock_local+0x18/0x80 > [ 8.733240] [] lock_acquire+0xb0/0x1e0 > [ 8.733260] [] ? drm_modeset_lock_all+0x40/0x120 [drm] > [ 8.733262] [] mutex_lock_nested+0x71/0x390 > [ 8.733281] [] ? drm_modeset_lock_all+0x40/0x120 [drm] > [ 8.733301] [] ? drm_modeset_lock_all+0x40/0x120 [drm] > [ 8.733304] [] ? kmem_cache_alloc_trace+0x25c/0x320 > [ 8.733322] [] ? drm_modeset_lock_all+0x25/0x120 [drm] > [ 8.733341] [] drm_modeset_lock_all+0x40/0x120 [drm] > [ 8.733351] [] drm_fb_helper_restore_fbdev_mode_unlocked+0x2b/0x80 [drm_kms_helper] > [ 8.733360] [] drm_fb_helper_set_par+0x2c/0x50 [drm_kms_helper] > [ 8.733403] [] intel_fbdev_set_par+0x1a/0x60 [i915] > [ 8.733406] [] fbcon_init+0x4d8/0x550 > [ 8.733408] [] visual_init+0xd6/0x130 > [ 8.733410] [] do_bind_con_driver+0x146/0x310 > [ 8.733413] [] do_take_over_console+0x106/0x180 > [ 8.733415] [] do_fbcon_takeover+0x57/0xb0 > [ 8.733417] [] fbcon_event_notify+0x726/0x870 > [ 8.733419] [] notifier_call_chain+0x4e/0xa0 > [ 8.733422] [] __blocking_notifier_call_chain+0x53/0x70 > [ 8.733424] [] blocking_notifier_call_chain+0x16/0x20 > [ 8.733426] [] fb_notifier_call_chain+0x1b/0x20 > [ 8.733427] [] register_framebuffer+0x239/0x320 > [ 8.733430] [] ? vga_switcheroo_client_fb_set+0x60/0x70 > [ 8.733440] [] drm_fb_helper_initial_config+0x25a/0x3a3 [drm_kms_helper] > [ 8.733483] [] intel_fbdev_initial_config+0x18/0x30 [i915] > [ 8.733484] [] async_run_entry_fn+0x4a/0x140 > [ 8.733486] [] process_one_work+0x1de/0x670 > [ 8.733488] [] ? process_one_work+0x15f/0x670 > [ 8.733490] [] worker_thread+0x125/0x4a0 > [ 8.733492] [] ? process_one_work+0x670/0x670 > [ 8.733494] [] kthread+0xf2/0x110 > [ 8.733497] [] ret_from_fork+0x1f/0x40 > [ 8.733499] [] ? kthread_create_on_node+0x220/0x220 -- Jani Nikula, Intel Open Source Technology Center