[Top] [All Lists]

Re: [PATCH] Prevent netpoll hanging when link is down

To: Andi Kleen <ak@xxxxxxx>
Subject: Re: [PATCH] Prevent netpoll hanging when link is down
From: Matt Mackall <mpm@xxxxxxxxxxx>
Date: Mon, 11 Oct 2004 11:58:52 -0500
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>, Andrew Morton <akpm@xxxxxxxx>, colin@xxxxxxxxxx, netdev@xxxxxxxxxxx
In-reply-to: <>
References: <> <20041008090610.70d7e183@pirandello> <> <> <> <> <> <> <> <>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.3.28i
On Mon, Oct 11, 2004 at 06:43:15PM +0200, Andi Kleen wrote:
> > It's not recursion on printk that's a problem, it's recursion on
> > ->poll() and attempting to take whatever internal driver locks.
> There is no recursion on poll because printk will never call into
> the low level console driver when the console sem is already taken.

Ergh, you deleted the context. Again, imagine we're originally in
->poll() for _a non-netpoll-related reason_. In other words, the
console sem is not taken, because we're just doing routine network
I/O. While in poll(), we take a private driver lock. Then for whatever
reason, we printk -> netconsole -> netpoll -> poll() again where we
attempt to retake the private driver lock.

> P.S.: I made the same mistake long ago, but akpm set me straight.

I'm pretty sure this case is different.

Mathematics is the supreme nostalgia of our time.

<Prev in Thread] Current Thread [Next in Thread>