Re: [PATCH] drm/i915: Preallocate mmu notifier to unbreak cpu hotplug deadlock

From: Thomas Gleixner
Date: Thu Oct 05 2017 - 12:19:42 EST


On Thu, 5 Oct 2017, Daniel Vetter wrote:
> On Thu, Oct 05, 2017 at 05:23:20PM +0200, Thomas Gleixner wrote:
> > Aside of that, is it really required to use stomp_machine() for this
> > synchronization? We certainly have less intrusive mechansisms than that.
>
> Yeah, the stop_machine needs to go, I'm working on something that uses
> rcu_read_lock+synchronize_rcu for this case. Probably shouldn't have
> merged even.
>
> Now this one isn't the one I wanted to fix with this patch since there's
> clearly something dubious going on on the i915 side too.

I already wondered :)

> The proper trace, with the same part on the cpu hotplug side, highlights
> that you can't allocate a workqueue while hodling mmap_sem. That one
> matches patch description&diff a bit better :-)

> Sorry for misleading you, should have checked to attach the right one. No
> stop_machine()/i915_gem_set_wedged() in the below one.

Well the problem is more or less the same and what I said about solving it
in a different place is still valid. I think about it some more, but don't
expect wonders :)

Thanks,

tglx