From: Ben Hutchings <bhutchings@solarflare.com>
To: "Govindarajan, Sriramakrishnan" <srk@ti.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: Adding Support for SG,GSO,GRO
Date: Thu, 09 Dec 2010 15:02:28 +0000 [thread overview]
Message-ID: <1291906948.19763.16.camel@localhost> (raw)
In-Reply-To: <FCCFB4CDC6E5564B9182F639FC356087035F21D9F9@dbde02.ent.ti.com>
On Thu, 2010-12-09 at 16:03 +0530, Govindarajan, Sriramakrishnan wrote:
> Hi
> We have a NAPI compliant driver(net/drivers/davinci_emac.c), that does
> well at 10/100Mbps loads. Now the same controller/driver is used for
> 1000Mbps
> mode as well, where the CPU gets saturated easily
>
> Internally the module supports scatter gather DMA(which is currently not
> exercised) but there is no HW checksum support.
>
> To specifically implement GRO, GSO support would it be sufficient to add
> SG support to the driver? Are there other means of increasing the throughput
> and decreasing the CPU loading?
[...]
On the RX side, the driver is allocating buffers and the stack doesn't
actually care whether you can do DMA scatter. However GRO depends on
hardware checksum validation.
On the TX side, NETIF_F_SG means that the stack may include data in the
skb by reference to arbitrary pages *even if their contents are still
being changed* (think sendfile()), which means it depends on hardware
checksum generation.
So you really have no choice - you must implement hardware checksum
offload if you want any of the others.
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
next prev parent reply other threads:[~2010-12-09 15:02 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-09 10:33 Adding Support for SG,GSO,GRO Govindarajan, Sriramakrishnan
2010-12-09 10:50 ` Eric Dumazet
2010-12-09 14:49 ` Govindarajan, Sriramakrishnan
2010-12-09 15:02 ` Ben Hutchings [this message]
2010-12-09 18:29 ` David Miller
2010-12-09 18:47 ` Michał Mirosław
2010-12-09 18:58 ` Ben Hutchings
2010-12-10 8:27 ` Michał Mirosław
2010-12-09 19:38 ` David Miller
2010-12-10 14:18 ` Michał Mirosław
2010-12-10 14:31 ` David Lamparter
2010-12-10 16:01 ` Michał Mirosław
2010-12-10 16:20 ` Ben Hutchings
2010-12-10 18:05 ` David Miller
2010-12-10 16:23 ` David Lamparter
2010-12-10 16:26 ` Eric Dumazet
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=1291906948.19763.16.camel@localhost \
--to=bhutchings@solarflare.com \
--cc=netdev@vger.kernel.org \
--cc=srk@ti.com \
/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).