Messages in this thread | | | Date | Mon, 12 Jun 2006 13:57:58 -0700 | From | Jeremy Fitzhardinge <> | Subject | Re: [PATCH RFC] netpoll: don't spin forever sending to stopped queues |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |