netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Anton Blanchard <anton@samba.org>
To: leitao@linux.vnet.ibm.com
Cc: netdev@vger.kernel.org, michael@ellerman.id.au
Subject: [PATCH 3/14] ehea: Remove force_irq logic in napi poll routine
Date: Tue, 5 Apr 2011 21:30:55 +1000	[thread overview]
Message-ID: <20110405213055.757a270a@kryten> (raw)
In-Reply-To: <20110405212825.6eb85677@kryten>


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.

Signed-off-by: Anton Blanchard <anton@samba.org>
---

Index: linux-2.6/drivers/net/ehea/ehea_main.c
===================================================================
--- linux-2.6.orig/drivers/net/ehea/ehea_main.c	2011-03-21 09:44:15.792816780 +1100
+++ linux-2.6/drivers/net/ehea/ehea_main.c	2011-03-21 14:18:42.213238477 +1100
@@ -931,7 +931,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)
@@ -941,18 +940,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);
@@ -972,7 +966,6 @@ static int ehea_poll(struct napi_struct
 		rx += ehea_proc_rwqes(dev, pr, budget - rx);
 	}
 
-	pr->poll_counter++;
 	return rx;
 }
 
Index: linux-2.6/drivers/net/ehea/ehea.h
===================================================================
--- linux-2.6.orig/drivers/net/ehea/ehea.h	2011-03-21 14:18:26.442655734 +1100
+++ linux-2.6/drivers/net/ehea/ehea.h	2011-03-21 14:18:33.252907379 +1100
@@ -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;

  parent reply	other threads:[~2011-04-05 11:30 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-05 11:28 [PATCH 1/14] ehea: Remove NETIF_F_LLTX Anton Blanchard
2011-04-05 11:29 ` [PATCH 2/14] ehea: Update multiqueue support Anton Blanchard
2011-04-11  1:13   ` Michael Ellerman
2011-04-05 11:30 ` Anton Blanchard [this message]
2011-04-05 11:32 ` [PATCH 4/14] ehea: Remove num_tx_qps module option Anton Blanchard
2011-04-05 11:33 ` [PATCH 5/14] ehea: Don't check NETIF_F_TSO in TX path Anton Blanchard
2011-04-05 11:35 ` [PATCH 6/14] ehea: Add vlan_features Anton Blanchard
2011-04-05 11:36 ` [PATCH 7/14] ehea: Allocate large enough skbs to avoid partial cacheline DMA writes Anton Blanchard
2011-04-05 11:39 ` [PATCH 8/14] ehea: Simplify ehea_xmit2 and ehea_xmit3 Anton Blanchard
2011-04-05 11:40 ` [PATCH 9/14] ehea: Merge swqe2 TSO and non TSO paths Anton Blanchard
2011-04-05 11:41 ` [PATCH 10/14] ehea: Simplify type 3 transmit routine Anton Blanchard
2011-04-05 11:41 ` [PATCH 11/14] ehea: Remove some unused definitions Anton Blanchard
2011-04-05 11:42 ` [PATCH 12/14] ehea: Add some more ethtool operations and 64bit stats Anton Blanchard
2011-04-05 13:07   ` Ben Hutchings
2011-04-05 21:35     ` Anton Blanchard
2011-04-05 11:43 ` [PATCH 13/14] ehea: Remove LRO support Anton Blanchard
2011-04-05 11:45 ` [PATCH 14/14] ehea: Add GRO support Anton Blanchard
2011-04-05 21:29   ` Jesse Gross

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=20110405213055.757a270a@kryten \
    --to=anton@samba.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).