From: Olof Johansson <olof@lixom.net>
To: jgarzik@pobox.com
Cc: netdev@vger.kernel.org, linuxppc-dev@ozlabs.org
Subject: [PATCH] [10/10] pasemi_mac: Clean TX ring in poll
Date: Wed, 22 Aug 2007 09:13:35 -0500 [thread overview]
Message-ID: <20070822141335.GK16830@lixom.net> (raw)
In-Reply-To: 20070817205413.548020000@lixom.net
Unfortunately there's no timeout for how long a packet can sit on
the TX ring after completion before an interrupt is generated, and
we want to have a threshold that's larger than one packet per interrupt.
So we have to have a timer that occasionally cleans the TX ring even
though there hasn't been an interrupt. Instead of setting up a dedicated
timer for this, just clean it in the NAPI poll routine instead.
Signed-off-by: Olof Johansson <olof@lixom.net>
---
I know I got this rejected last time it was submitted, but no answers with
suggestions on how to handle it better. I'm all ears if there's a better
way. (I noticed that Intel's new ixgbe driver does the same thing).
Index: mainline/drivers/net/pasemi_mac.c
===================================================================
--- mainline.orig/drivers/net/pasemi_mac.c
+++ mainline/drivers/net/pasemi_mac.c
@@ -1086,6 +1086,7 @@ static int pasemi_mac_poll(struct net_de
int pkts, limit = min(*budget, dev->quota);
struct pasemi_mac *mac = netdev_priv(dev);
+ pasemi_mac_clean_tx(mac);
pkts = pasemi_mac_clean_rx(mac, limit);
dev->quota -= pkts;
--
WARNING: multiple messages have this Message-ID (diff)
From: Olof Johansson <olof@lixom.net>
To: jgarzik@pobox.com
Cc: netdev@vger.kernel.org, linuxppc-dev@ozlabs.org
Subject: [PATCH] [10/10] pasemi_mac: Clean TX ring in poll
Date: Wed, 22 Aug 2007 09:13:35 -0500 [thread overview]
Message-ID: <20070822141335.GK16830@lixom.net> (raw)
In-Reply-To: 20070817205413.548020000@lixom.net
[-- Attachment #1: pasemi_mac-clean-tx-in-poll --]
[-- Type: text/plain, Size: 1130 bytes --]
Unfortunately there's no timeout for how long a packet can sit on
the TX ring after completion before an interrupt is generated, and
we want to have a threshold that's larger than one packet per interrupt.
So we have to have a timer that occasionally cleans the TX ring even
though there hasn't been an interrupt. Instead of setting up a dedicated
timer for this, just clean it in the NAPI poll routine instead.
Signed-off-by: Olof Johansson <olof@lixom.net>
---
I know I got this rejected last time it was submitted, but no answers with
suggestions on how to handle it better. I'm all ears if there's a better
way. (I noticed that Intel's new ixgbe driver does the same thing).
Index: mainline/drivers/net/pasemi_mac.c
===================================================================
--- mainline.orig/drivers/net/pasemi_mac.c
+++ mainline/drivers/net/pasemi_mac.c
@@ -1086,6 +1086,7 @@ static int pasemi_mac_poll(struct net_de
int pkts, limit = min(*budget, dev->quota);
struct pasemi_mac *mac = netdev_priv(dev);
+ pasemi_mac_clean_tx(mac);
pkts = pasemi_mac_clean_rx(mac, limit);
dev->quota -= pkts;
--
next prev parent reply other threads:[~2007-08-22 15:08 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20070817205413.548020000@lixom.net>
2007-08-22 14:12 ` [PATCH] [01/10] pasemi_mac: Abstract out register access Olof Johansson
2007-08-22 14:12 ` Olof Johansson
2007-08-31 13:50 ` Jeff Garzik
2007-08-22 14:12 ` [PATCH] [02/10] pasemi_mac: Stop using the pci config space accessors for register read/writes Olof Johansson
2007-08-22 14:12 ` Olof Johansson
2007-08-23 0:31 ` Stephen Rothwell
2007-08-23 0:31 ` Stephen Rothwell
2007-08-23 18:12 ` Olof Johansson
2007-08-23 18:13 ` [PATCH v2] " Olof Johansson
2007-08-24 4:05 ` Stephen Rothwell
2007-08-24 4:05 ` Stephen Rothwell
2007-08-24 18:11 ` Olof Johansson
2007-08-25 1:19 ` Stephen Rothwell
2007-08-31 13:54 ` Jeff Garzik
2007-08-22 14:12 ` [PATCH] [03/10] pasemi_mac: Enable L2 caching of packet headers Olof Johansson
2007-08-22 14:12 ` Olof Johansson
2007-08-22 14:12 ` [PATCH] [04/10] pasemi_mac: Fix memcpy amount for short receives Olof Johansson
2007-08-22 14:12 ` Olof Johansson
2007-08-22 14:12 ` [PATCH] [05/10] pasemi_mac: RX performance tweaks Olof Johansson
2007-08-22 14:12 ` Olof Johansson
2007-08-22 14:13 ` [PATCH] [06/10] pasemi_mac: Batch up TX buffer frees Olof Johansson
2007-08-22 14:13 ` Olof Johansson
2007-08-22 14:13 ` [PATCH] [07/10] pasemi_mac: Enable LLTX Olof Johansson
2007-08-22 14:13 ` Olof Johansson
2007-08-22 14:13 ` [PATCH] [08/10] pasemi_mac: Fix TX ring wrap checking Olof Johansson
2007-08-22 14:13 ` Olof Johansson
2007-08-22 14:13 ` [PATCH] [09/10] pasemi_mac: Fix RX checksum flags Olof Johansson
2007-08-22 14:13 ` Olof Johansson
2007-08-22 14:13 ` Olof Johansson [this message]
2007-08-22 14:13 ` [PATCH] [10/10] pasemi_mac: Clean TX ring in poll Olof Johansson
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=20070822141335.GK16830@lixom.net \
--to=olof@lixom.net \
--cc=jgarzik@pobox.com \
--cc=linuxppc-dev@ozlabs.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.