Re: [Intel-gfx] [4.2-rc4] acpi|drm|i915: circular locking dependency: acpi_video_get_backlight_type

From: Hans de Goede
Date: Fri Aug 14 2015 - 04:25:29 EST


Hi,

On 13-08-15 16:33, Hans de Goede wrote:
Hi,

On 12-08-15 21:26, Ville Syrjälä wrote:
On Mon, Aug 10, 2015 at 08:29:00PM +0200, Sedat Dilek wrote:
On Sat, Aug 1, 2015 at 2:23 PM, Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
On Mon, Jul 27, 2015 at 12:33 AM, Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
Hi,

this my first build of a 4.2-rcN Linux-kernel and I see this...


Just FYI:

I am *not* seeing this with drm-intel-nightly from below url.

Also, I plan to test Linux v4.2-rc5.


[ CC Linus ]

Knock Knock Knock.

This issue still remains here (with CONFIG_DRM_I915=m)...

[ 18.269792] ======================================================
[ 18.269798] [ INFO: possible circular locking dependency detected ]
[ 18.269805] 4.2.0-rc6-1-iniza-small #1 Not tainted
[ 18.269810] -------------------------------------------------------
[ 18.269816] modprobe/727 is trying to acquire lock:
[ 18.269822] (init_mutex){+.+.+.}, at: [<ffffffffa0090f2d>]
acpi_video_get_backlight_type+0x17/0x164 [video]
[ 18.269840]
[ 18.269840] but task is already holding lock:
[ 18.269848] (&(&backlight_notifier)->rwsem){++++..}, at:
[<ffffffff810a6519>] __blocking_notifier_call_chain+0x39/0x70
[ 18.269864]
[ 18.269864] which lock already depends on the new lock.
[ 18.269864]
[ 18.269875]
[ 18.269875] the existing dependency chain (in reverse order) is:
[ 18.269884]
...

Full dmesg log and kernel-config attached.

Shall I add Rusty and modules/modprobe folks?

Just got back from vacation and was greeted by this same lockdep splat.

On a hunch I reverted

commit 93a291dfaf9c328ca5a9cea1733af1a128efe890
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Jun 16 16:27:52 2015 +0200

ACPI / video: Move backlight notifier to video_detect.c

and the problem seems to be gone. Hans, any thoughts?

Looking into this atm, lockdep clearly is right.

Sorry about this I have put a lot of thinking into avoiding
these kind of issues with this patch-set, but I did not realize
there was another lock "hiding" inside the notifier-chain.

Further analysis shows that the lock inside the notifier-chain
causes similar problems vs register_count_mutex from
drivers/acpi/acpi_video.c. I'm working on a fix for this
atm.

Heh, look at what I just found (I'm shifting my work focus
in the direction of nouveau) :

https://bugzilla.redhat.com/show_bug.cgi?id=1152876

So it looks like we have had the root cause of this issue
for a long time already, maybe my recent backlight selection
logic cleanup / rework has made it easier to trigger the
lockdep warning for this though.

Anyhow assuming people are ok with the fix I submitted
yesterday we've a fix for this now.

Regards,

Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/