Messages in this thread | | | Date | Fri, 23 May 2003 09:06:10 +0200 (CEST) | From | Martin Diehl <> | Subject | Re: [2.5.69] rtnl-deadlock with usermodehelper and keventd |
| |
On Thu, 15 May 2003, Andrew Morton wrote:
> > > [ unregister_netdevice calls call_usermodehelper which waits for keventd to > > > pick up the subprocess_info, but keventd is blocked on rtnl_lock, which > > > unregister_netdev took ] > > > "David S. Miller" <davem@redhat.com> wrote: > > > > I'd much rather see /sbin/hotplug be able to handle things > > asynchonously. > > Yeah, I'm inclined to agree. I'll take a look at it.
Asking just because there was another user hitting this deadlock: it seems with linux-irda we have a very good test case for reproducing this issue. So I'd be happy to go testing patches if this might help.
I've also looked into the code to see if I could do something myself. Well, personally I do also think the best way would be to modify the kernel hotplug part so we can call it asynch under rtnl-lock. Unfortunately, given the fact there are already several layers (schedule_work, 2 times kernel_thread and execve) stacked on top of each other, I'm pretty much lost how to fix it without breaking other stuff.
I was also thinking about making net_run_sbin_hotplug asynch itself, but I'm unsure how this might interact with call_usermodehelper(), namely wrt. the wait=0 parameter.
I assume we all agree this issue isn't easy to resolve. May I suggest adding it to the must-fix-before-2.6 list so it wouldn't get lost? As people tend to run with CONFIG_HOTPLUG=y there would be a lot of trouble with 2.6 otherwise.
Thanks. Martin
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |