From: Matt Mackall <mpm@selenic.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
netdev@vger.kernel.org
Subject: Re: [PATCH RFC] netpoll: don't spin forever sending to stopped queues
Date: Sun, 11 Jun 2006 15:04:07 -0500 [thread overview]
Message-ID: <20060611200407.GG24227@waste.org> (raw)
In-Reply-To: <4488D9D6.6070205@goop.org>
On Thu, Jun 08, 2006 at 07:15:50PM -0700, Jeremy Fitzhardinge wrote:
> Matt Mackall wrote:
> >That's odd. Netpoll holds a reference to the device, of course, but so
> >does a normal "up" interface. So that shouldn't be the problem.
> >Another possibility is that outgoing packets from printks in the
> >driver are causing difficulty. Not sure what can be done about that.
> >
> 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?
> When transmitting a skb in netpoll_send_skb(), only retry a limited
> number of times if the device queue is stopped.
Where limited = once?
> Signed-off-by: Jeremy Fitzhardinge <jeremy@goop.org>
>
> diff -r aac813f54617 net/core/netpoll.c
> --- a/net/core/netpoll.c Wed Jun 07 14:53:40 2006 -0700
> +++ b/net/core/netpoll.c Thu Jun 08 19:00:29 2006 -0700
> @@ -280,15 +280,10 @@ static void netpoll_send_skb(struct netp
> * network drivers do not expect to be called if the queue is
> * stopped.
> */
> - if (netif_queue_stopped(np->dev)) {
> - np->dev->xmit_lock_owner = -1;
> - spin_unlock(&np->dev->xmit_lock);
> - netpoll_poll(np);
> - udelay(50);
> - continue;
> - }
> -
> - status = np->dev->hard_start_xmit(skb, np->dev);
> + status = NETDEV_TX_BUSY;
> + if (!netif_queue_stopped(np->dev))
> + status = np->dev->hard_start_xmit(skb, np->dev);
> +
> np->dev->xmit_lock_owner = -1;
> spin_unlock(&np->dev->xmit_lock);
>
>
>
--
Mathematics is the supreme nostalgia of our time.
next prev parent reply other threads:[~2006-06-11 20:14 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-08 17:50 Using netconsole for debugging suspend/resume Jeremy Fitzhardinge
2006-06-08 20:35 ` Auke Kok
2006-06-08 20:40 ` Rafael J. Wysocki
2006-06-09 1:56 ` Jeremy Fitzhardinge
2006-06-09 10:34 ` Rafael J. Wysocki
2006-06-08 21:07 ` Matt Mackall
2006-06-09 1:54 ` Jeremy Fitzhardinge
2006-06-09 5:13 ` Auke Kok
2006-06-09 5:23 ` David Miller
2006-06-09 5:50 ` Andi Kleen
2006-06-09 17:14 ` Matt Mackall
2006-06-09 5:45 ` Jeremy Fitzhardinge
2006-06-09 2:15 ` [PATCH RFC] netpoll: don't spin forever sending to stopped queues Jeremy Fitzhardinge
2006-06-11 20:04 ` Matt Mackall [this message]
2006-06-12 20:57 ` Jeremy Fitzhardinge
2006-06-12 20:53 ` Matt Mackall
2006-06-12 21:20 ` Jeremy Fitzhardinge
2006-06-09 3:46 ` Using netconsole for debugging suspend/resume Andi Kleen
2006-06-09 15:24 ` Mark Lord
2006-06-12 11:21 ` Andi Kleen
2006-06-12 15:38 ` Mark Lord
2006-06-12 15:46 ` Andi Kleen
2006-06-12 21:25 ` Jeremy Fitzhardinge
2006-06-13 3:47 ` Andi Kleen
2006-06-13 4:49 ` David Miller
2006-06-13 4:54 ` Andi Kleen
2006-06-13 5:03 ` David Miller
2006-06-13 7:18 ` Christoph Hellwig
2006-06-13 7:31 ` David Miller
2006-06-09 8:34 ` Pavel Machek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060611200407.GG24227@waste.org \
--to=mpm@selenic.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.