From: Anton Blanchard <anton@samba.org>
To: leitao@linux.vnet.ibm.com, michael@ellerman.id.au,
jesse@kernel.org, bhutchings@solarflare.com
Cc: netdev@vger.kernel.org
Subject: [PATCH 03/15] ehea: Remove force_irq logic in napi poll routine
Date: Thu, 12 May 2011 10:52:16 +1000 [thread overview]
Message-ID: <20110512005622.766206152@samba.org> (raw)
In-Reply-To: 20110512005213.897432612@samba.org
[-- Attachment #1: ehea_3.patch --]
[-- Type: text/plain, Size: 2097 bytes --]
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-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;
next prev parent reply other threads:[~2011-05-12 1:28 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 ` Anton Blanchard [this message]
2011-05-12 2:31 ` [PATCH 03/15] ehea: Remove force_irq logic in napi poll routine Joe Perches
2011-05-12 3:06 ` David Miller
2011-05-12 2:47 ` Ben Hutchings
2011-05-24 3:32 ` Benjamin Herrenschmidt
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=20110512005622.766206152@samba.org \
--to=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).