From: linas@austin.ibm.com (Linas Vepstas)
To: Jeff Garzik <jeff@garzik.org>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
linuxppc-dev@ozlabs.org, James K Lewis <jklewis@us.ibm.com>,
Arnd Bergmann <arnd@arndb.de>,
Jens Osterkamp <Jens.Osterkamp@de.ibm.com>,
akpm@osdl.org
Subject: Re: [PATCH 1/2]: powerpc/cell spidernet bottom half
Date: Wed, 16 Aug 2006 15:30:43 -0500 [thread overview]
Message-ID: <20060816203043.GJ20551@austin.ibm.com> (raw)
In-Reply-To: <44E34825.2020105@garzik.org>
On Wed, Aug 16, 2006 at 12:30:29PM -0400, Jeff Garzik wrote:
> Linas Vepstas wrote:
> >
> >The recent set of low-waterark patches for the spider result in a
>
> Let's not reinvented NAPI, shall we...
??
I was under the impression that NAPI was for the receive side only.
This round of patches were for the transmit queue.
Let me describe the technical problem; perhaps there's some other
solution for it?
The default socket size seems to be 128KB; (cat
/proc/sys/net/core/wmem_default) if a user application
writes more than 128 KB to a socket, the app is blocked by the
kernel till there's room in the socket for more. At gigabit speeds,
a network card can drain 128KB in about a millisecond, or about
four times a jiffy (assuming HZ=250). If the network card isn't
generaing interrupts, (and there are no other interrupts flying
around) then the tcp stack only wakes up once a jiffy, and so
the user app is scheduled only once a jiffy. Thus, the max
bandwidth that the app can see is (HZ * wmem_default) bytes per
second, or about 250 Mbits/sec for my system. Disappointing
for a gigabit adapter.
There's three ways out of this:
(1) tell the sysadmin to
"echo 1234567 > /proc/sys/net/core/wmem_default" which
violates all the rules.
(2) Poll more frequently than once-a-jiffy. Arnd Bergmann and I
got this working, using hrtimers. It worked pretty well,
but seemed like a hack to me.
(3) Generate transmit queue low-watermark interrupts,
which is an admitedly olde-fashioned but common
engineering practice. This round of patches implement
this.
--linas
next prev parent reply other threads:[~2006-08-16 20:31 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-11 17:03 [PATCH 0/4]: powerpc/cell spidernet ethernet driver fixes Linas Vepstas
2006-08-11 17:06 ` [PATCH 1/4]: powerpc/cell spidernet burst alignment patch Linas Vepstas
2006-08-11 17:08 ` [PATCH 2/4]: powerpc/cell spidernet low watermark patch Linas Vepstas
2006-08-16 23:43 ` Benjamin Herrenschmidt
2006-08-18 19:23 ` Linas Vepstas
2006-08-18 21:25 ` David Miller
2006-08-18 22:46 ` Linas Vepstas
2006-08-18 22:51 ` David Miller
2006-08-18 23:29 ` Linas Vepstas
2006-08-18 23:45 ` Linas Vepstas
2006-08-19 4:33 ` Benjamin Herrenschmidt
2006-08-22 0:13 ` Linas Vepstas
2006-08-22 0:30 ` David Miller
2006-08-19 4:31 ` Benjamin Herrenschmidt
2006-08-11 17:09 ` [PATCH 3/4]: powerpc/cell spidernet stop error printing patch Linas Vepstas
2006-08-11 17:11 ` [PATCH 4/4]: powerpc/cell spidernet ethtool -i version number info Linas Vepstas
2006-08-11 18:00 ` Olof Johansson
2006-08-11 18:50 ` James K Lewis
2006-08-11 19:46 ` Linas Vepstas
2006-08-15 19:05 ` Olof Johansson
2006-08-16 0:29 ` Michael Ellerman
2006-08-11 17:42 ` [PATCH 0/4]: powerpc/cell spidernet ethernet driver fixes jschopp
2006-08-11 17:44 ` Sam Ravnborg
2006-08-11 19:31 ` Linas Vepstas
2006-08-11 20:27 ` Arnd Bergmann
2006-08-16 16:18 ` [PATCH 1/2]: powerpc/cell spidernet bottom half Linas Vepstas
2006-08-16 16:30 ` Jeff Garzik
2006-08-16 20:30 ` Linas Vepstas [this message]
2006-08-16 20:34 ` Jeff Garzik
2006-08-16 20:46 ` David Miller
2006-08-16 21:24 ` Arnd Bergmann
2006-08-16 21:32 ` David Miller
2006-08-16 22:16 ` Arnd Bergmann
2006-08-16 22:29 ` David Miller
2006-08-16 22:47 ` Arnd Bergmann
2006-08-16 23:30 ` Linas Vepstas
2006-08-16 23:32 ` David Miller
2006-08-17 0:23 ` Linas Vepstas
2006-08-16 23:24 ` Linas Vepstas
2006-08-16 22:55 ` Linas Vepstas
2006-08-16 23:03 ` Arnd Bergmann
2006-08-16 23:47 ` Linas Vepstas
2006-08-16 23:08 ` Rick Jones
2006-08-16 21:58 ` Linas Vepstas
2006-08-16 16:23 ` [PATCH 2/2]: powerpc/cell spidernet refine locking Linas Vepstas
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=20060816203043.GJ20551@austin.ibm.com \
--to=linas@austin.ibm.com \
--cc=Jens.Osterkamp@de.ibm.com \
--cc=akpm@osdl.org \
--cc=arnd@arndb.de \
--cc=jeff@garzik.org \
--cc=jklewis@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--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 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).