netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Anton Blanchard <anton@samba.org>
Cc: leitao@linux.vnet.ibm.com, michael@ellerman.id.au,
	jesse@kernel.org, bhutchings@solarflare.com,
	netdev@vger.kernel.org
Subject: Re: [PATCH 03/15] ehea: Remove force_irq logic in napi poll routine
Date: Tue, 24 May 2011 13:32:35 +1000	[thread overview]
Message-ID: <1306207955.7481.212.camel@pasglop> (raw)
In-Reply-To: <20110512005622.766206152@samba.org>

On Thu, 2011-05-12 at 10:52 +1000, Anton Blanchard wrote:
> plain text document attachment (ehea_3.patch)
> commit 18604c548545 (ehea: NAPI multi queue TX/RX path for SMP) added
> driver specific logic for exiting napi mode. I'm not sure what it was
> trying to solve and it should be up to the network stack to decide when
> we are done polling so remove it.

I -think- the force_irq trick was meant to allow migration of the
workload if the interrupt moved. IE. Without it, continuous traffic
would cause NAPI to always happen on the same CPU, regardless of the
affinity of the corresponding queue IRQ.

I suspect all of that is obsoleted by the newer generic infrastructure.

Cheers,
Ben.

> Signed-off-by: Anton Blanchard <anton@samba.org>
> ---
> 
> Index: linux-net/drivers/net/ehea/ehea_main.c
> ===================================================================
> --- linux-net.orig/drivers/net/ehea/ehea_main.c	2011-05-12 07:47:49.640116670 +1000
> +++ linux-net/drivers/net/ehea/ehea_main.c	2011-05-12 07:47:51.960153456 +1000
> @@ -927,7 +927,6 @@ static struct ehea_cqe *ehea_proc_cqes(s
>  	return cqe;
>  }
>  
> -#define EHEA_NAPI_POLL_NUM_BEFORE_IRQ 16
>  #define EHEA_POLL_MAX_CQES 65535
>  
>  static int ehea_poll(struct napi_struct *napi, int budget)
> @@ -937,18 +936,13 @@ static int ehea_poll(struct napi_struct
>  	struct net_device *dev = pr->port->netdev;
>  	struct ehea_cqe *cqe;
>  	struct ehea_cqe *cqe_skb = NULL;
> -	int force_irq, wqe_index;
> +	int wqe_index;
>  	int rx = 0;
>  
> -	force_irq = (pr->poll_counter > EHEA_NAPI_POLL_NUM_BEFORE_IRQ);
>  	cqe_skb = ehea_proc_cqes(pr, EHEA_POLL_MAX_CQES);
> +	rx += ehea_proc_rwqes(dev, pr, budget - rx);
>  
> -	if (!force_irq)
> -		rx += ehea_proc_rwqes(dev, pr, budget - rx);
> -
> -	while ((rx != budget) || force_irq) {
> -		pr->poll_counter = 0;
> -		force_irq = 0;
> +	while ((rx != budget)) {
>  		napi_complete(napi);
>  		ehea_reset_cq_ep(pr->recv_cq);
>  		ehea_reset_cq_ep(pr->send_cq);
> @@ -968,7 +962,6 @@ static int ehea_poll(struct napi_struct
>  		rx += ehea_proc_rwqes(dev, pr, budget - rx);
>  	}
>  
> -	pr->poll_counter++;
>  	return rx;
>  }
>  
> Index: linux-net/drivers/net/ehea/ehea.h
> ===================================================================
> --- linux-net.orig/drivers/net/ehea/ehea.h	2011-05-12 07:47:49.640116670 +1000
> +++ linux-net/drivers/net/ehea/ehea.h	2011-05-12 07:47:51.960153456 +1000
> @@ -383,7 +383,6 @@ struct ehea_port_res {
>  	u64 tx_bytes;
>  	u64 rx_packets;
>  	u64 rx_bytes;
> -	u32 poll_counter;
>  	struct net_lro_mgr lro_mgr;
>  	struct net_lro_desc lro_desc[MAX_LRO_DESCRIPTORS];
>  	int sq_restart_flag;
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



  parent reply	other threads:[~2011-05-24  3:37 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-12  0:52 [PATCH 00/15] ehea updates v2 Anton Blanchard
2011-05-12  0:52 ` [PATCH 01/15] ehea: Remove NETIF_F_LLTX Anton Blanchard
2011-05-12  0:52 ` [PATCH 02/15] ehea: Update multiqueue support Anton Blanchard
2011-05-12  2:31   ` Joe Perches
2011-05-12  2:57   ` Ben Hutchings
2011-05-12  0:52 ` [PATCH 03/15] ehea: Remove force_irq logic in napi poll routine Anton Blanchard
2011-05-12  2:31   ` Joe Perches
2011-05-12  3:06     ` David Miller
2011-05-12  2:47   ` Ben Hutchings
2011-05-24  3:32   ` Benjamin Herrenschmidt [this message]
2011-05-12  0:52 ` [PATCH 04/15] ehea: Remove num_tx_qps module option Anton Blanchard
2011-05-12  0:52 ` [PATCH 05/15] ehea: Dont check NETIF_F_TSO in TX path Anton Blanchard
2011-05-12  0:52 ` [PATCH 06/15] ehea: Add vlan_features Anton Blanchard
2011-05-12  0:52 ` [PATCH 07/15] ehea: Allocate large enough skbs to avoid partial cacheline DMA writes Anton Blanchard
2011-05-12  2:52   ` Ben Hutchings
2011-05-12  0:52 ` [PATCH 08/15] ehea: Simplify ehea_xmit2 and ehea_xmit3 Anton Blanchard
2011-05-12  0:52 ` [PATCH 09/15] ehea: Merge swqe2 TSO and non TSO paths Anton Blanchard
2011-05-12  0:52 ` [PATCH 10/15] ehea: Simplify type 3 transmit routine Anton Blanchard
2011-05-12  0:52 ` [PATCH 11/15] ehea: Remove some unused definitions Anton Blanchard
2011-05-12  0:52 ` [PATCH 12/15] ehea: Add 64bit statistics Anton Blanchard
2011-05-12  0:52 ` [PATCH 13/15] ehea: Remove LRO support Anton Blanchard
2011-05-12  0:52 ` [PATCH 14/15] ehea: Add GRO support Anton Blanchard
2011-05-12  6:03   ` Michał Mirosław
2011-05-12  0:52 ` [PATCH 15/15] ehea: Remove unused tcp_end field in send WQ Anton Blanchard
2011-05-12  2:31   ` Joe Perches
2011-05-12  3:06     ` David Miller
2011-05-12  3:12       ` Joe Perches
2011-05-31  1:16         ` Benjamin Herrenschmidt
  -- strict thread matches above, loose matches on Subject: below --
2011-10-14 15:30 EHEA updates Thadeu Lima de Souza Cascardo
2011-10-14 15:31 ` [PATCH 03/15] ehea: Remove force_irq logic in napi poll routine Thadeu Lima de Souza Cascardo

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=1306207955.7481.212.camel@pasglop \
    --to=benh@kernel.crashing.org \
    --cc=anton@samba.org \
    --cc=bhutchings@solarflare.com \
    --cc=jesse@kernel.org \
    --cc=leitao@linux.vnet.ibm.com \
    --cc=michael@ellerman.id.au \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).