All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Paul Durrant <paul.durrant@citrix.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [PATCH] Remove the 500ms timeout to restart the netif queue.
Date: Wed, 15 Dec 2010 10:58:41 -0500	[thread overview]
Message-ID: <20101215155841.GE28984@dumpdata.com> (raw)
In-Reply-To: <1292358922-5569-3-git-send-email-paul.durrant@citrix.com>

On Tue, Dec 14, 2010 at 08:35:20PM +0000, Paul Durrant wrote:
> It is generally unhelpful as it results in a massive tail-drop should a guest become
> unresponsive for a relatively short period of time and no back-pressure (other than
> that caused by a higher layer protocol) is applied to the sender.

The patch just removes the timeout, so the queue will be considered unavailable..
So will the queue be restarted via the net_rx_action logic?

> 
> Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
> ---
>  drivers/xen/netback/netback.c |   20 +-------------------
>  1 files changed, 1 insertions(+), 19 deletions(-)
> 
> diff --git a/drivers/xen/netback/netback.c b/drivers/xen/netback/netback.c
> index 066d140..87a2cd4 100644
> --- a/drivers/xen/netback/netback.c
> +++ b/drivers/xen/netback/netback.c
> @@ -271,13 +271,6 @@ static inline int netbk_queue_full(struct xen_netif *netif)
>  	       ((netif->rx.rsp_prod_pvt + NET_RX_RING_SIZE - peek) < needed);
>  }
>  
> -static void tx_queue_callback(unsigned long data)
> -{
> -	struct xen_netif *netif = (struct xen_netif *)data;
> -	if (netif_schedulable(netif))
> -		netif_wake_queue(netif->dev);
> -}
> -
>  /* Figure out how many ring slots we're going to need to send @skb to
>     the guest. */
>  static unsigned count_skb_slots(struct sk_buff *skb, struct xen_netif *netif)
> @@ -360,19 +353,8 @@ int netif_be_start_xmit(struct sk_buff *skb, struct net_device *dev)
>  		netif->rx.sring->req_event = netif->rx_req_cons_peek +
>  			netbk_max_required_rx_slots(netif);
>  		mb(); /* request notification /then/ check & stop the queue */
> -		if (netbk_queue_full(netif)) {
> +		if (netbk_queue_full(netif))
>  			netif_stop_queue(dev);
> -			/*
> -			 * Schedule 500ms timeout to restart the queue, thus
> -			 * ensuring that an inactive queue will be drained.
> -			 * Packets will be immediately be dropped until more
> -			 * receive buffers become available (see
> -			 * netbk_queue_full() check above).
> -			 */
> -			netif->tx_queue_timeout.data = (unsigned long)netif;
> -			netif->tx_queue_timeout.function = tx_queue_callback;
> -			mod_timer(&netif->tx_queue_timeout, jiffies + HZ/2);
> -		}
>  	}
>  	skb_queue_tail(&netbk->rx_queue, skb);
>  
> -- 
> 1.5.6.5
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

  parent reply	other threads:[~2010-12-15 15:58 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-14 20:35 [PATCH] Re-define PKT_PROT_LEN to be bigger Paul Durrant
2010-12-14 20:35 ` [PATCH] Don't count packets we don't actually receive Paul Durrant
2010-12-14 20:35   ` [PATCH] Remove the 500ms timeout to restart the netif queue Paul Durrant
2010-12-14 20:35     ` [PATCH] Add a missing test to tx_work_todo Paul Durrant
2010-12-14 20:35       ` [PATCH] Re-factor net_tx_action_dealloc() slightly Paul Durrant
2010-12-15 15:58     ` Konrad Rzeszutek Wilk [this message]
2010-12-16 10:00       ` [PATCH] Remove the 500ms timeout to restart the netif queue Paul Durrant
2010-12-14 22:17 ` [PATCH] Re-define PKT_PROT_LEN to be bigger Jeremy Fitzhardinge
2010-12-15  9:30   ` Paul Durrant
2010-12-15  9:37 ` Ian Campbell
2010-12-20 14:34 ` Ian Campbell

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=20101215155841.GE28984@dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=paul.durrant@citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /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.