| To: | Matt Mackall <mpm@xxxxxxxxxxx> |
|---|---|
| Subject: | Re: serious netpoll bug w/NAPI |
| From: | "David S. Miller" <davem@xxxxxxxxxxxxx> |
| Date: | Wed, 16 Feb 2005 15:02:36 -0800 |
| Cc: | jmoyer@xxxxxxxxxx, netdev@xxxxxxxxxxx |
| In-reply-to: | <20050216050722.GC3358@xxxxxxxxx> |
| References: | <20050208201634.03074349.davem@xxxxxxxxxxxxx> <20050209183219.GA2366@xxxxxxxxx> <20050209164658.409f8950.davem@xxxxxxxxxxxxx> <20050210011104.GF2366@xxxxxxxxx> <16914.31886.665975.522710@xxxxxxxxxxxxxxxxxxxxxxxxxx> <20050216050722.GC3358@xxxxxxxxx> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
On Tue, 15 Feb 2005 21:07:22 -0800 Matt Mackall <mpm@xxxxxxxxxxx> wrote: > Because dev->np->poll_lock now serializes all access to ->poll (when > netpoll is enabled on said device). I think there is still a problem. Sure, we won't recurse into ->poll(), but instead we'll loop forever in netpoll_send_skb() in this case when netif_queue_stopped() is true. We can't get into the ->poll() routine, so the TX queue can't make forward progress, yet we keep looping to the "repeat" label over and over again. So we've replaced a crash via ->poll() re-entry with a deadlock in netpoll_send_skb() :-) I also think that taking a global spinlock for every ->poll() call is a huge price to pay on SMP. |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [RFC] string matching based packet classification/filtering, Thomas Graf |
|---|---|
| Next by Date: | Re: serious netpoll bug w/NAPI, Matt Mackall |
| Previous by Thread: | Re: serious netpoll bug w/NAPI, Jeff Moyer |
| Next by Thread: | Re: serious netpoll bug w/NAPI, Matt Mackall |
| Indexes: | [Date] [Thread] [Top] [All Lists] |