Re: [PATCH RFC] netpoll: don't spin forever sending to stopped queues

From: Jeremy Fitzhardinge
Date: Mon Jun 12 2006 - 16:57:02 EST


Matt Mackall wrote:
On Thu, Jun 08, 2006 at 07:15:50PM -0700, Jeremy Fitzhardinge wrote:
Here's a patch. I haven't tested it beyond compiling it, and I don't know if it is actually correct. In this case, it seems pointless to spin waiting for an even which will never happen. Should netif_poll_disable() cause netpoll_send_skb() (or something) to not even bother trying to send? netif_poll_disable seems mysteriously simple to me.

J

Did this work for you at all?

No, it didn't appear to help; I get the same symptom. I think fix is correct (in that its better than what was there before), but there's probably more going on in my case. I haven't looked into it more deeply yet. I suspect there's another netpoll code path which is spinning forever on an XOFFed queue.

When transmitting a skb in netpoll_send_skb(), only retry a limited
number of times if the device queue is stopped.

Where limited = once?

No, it reuses the existing retry logic. It retries 20000 times with a 50us pause between attempts, so up to a second. This seems excessive to me; I don't know where those original numbers came from. I tried 5000 retries, but it didn't make any difference to my case.

J
-
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/