From: Stephen Hemminger <shemminger@osdl.org>
To: Robert Olsson <Robert.Olsson@data.slu.se>
Cc: hadi@cyberus.ca, Herbert Xu <herbert@gondor.apana.org.au>,
netdev@vger.kernel.org, jgarzik@pobox.com, mchan@broadcom.com,
David Miller <davem@davemloft.net>, Andi Kleen <ak@suse.de>
Subject: Re: netif_tx_disable and lockless TX
Date: Thu, 01 Jun 2006 20:25:33 -0700 [thread overview]
Message-ID: <447FAFAD.9000503@osdl.org> (raw)
In-Reply-To: <17533.55270.172654.98522@robur.slu.se>
Robert Olsson wrote:
> jamal writes:
>
> > Latency-wise: TX completion interrupt provides the best latency.
> > Processing in the poll() -aka softirq- was almost close to the hardirq
> > variant. So if you can make things run in a softirq such as transmit
> > one, then the numbers will likely stay the same.
>
> I don't remember we tried tasklet for TX a la Herbert's suggestion but we
> used use tasklets for controlling RX processing to avoid hardirq livelock
> in pre-NAPI versions.
>
> Had variants of tulip driver with both TX cleaning at ->poll and TX
> cleaning at hardirq and didn't see any performance difference. The
> ->poll was much cleaner but we kept Alexey's original work for tulip.
>
> > Sorry, I havent been following discussions on netchannels[1] so i am not
> > qualified to comment on the "replacement" part Dave mentioned earlier.
> > What I can say is the tx processing doesnt have to be part of the NAPI
> > poll() and still use hardirq.
>
> Yes true but I see TX numbers with newer boards (wire rate small pakets)
> with cleaing in ->poll. Also now linux is very safe in network "overload"
> situations. Moving work to hardirq may change that.
>
>
>
I also noticed that you really don't save much by doing TX cleaning at
hardirq, because in hardirq you need to do dev_kfree_irq and that causes
a softirq (for the routing case where users=1). So when routing it
doesn't make much difference, both methods cause the softirq delayed
processing to be invoked. For locally generated packets which are
cloned, the hardirq will drop the ref count, and that is faster than
doing the whole softirq round trip.
next prev parent reply other threads:[~2006-06-02 3:27 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-31 4:51 netif_tx_disable and lockless TX Michael Chan
2006-05-31 4:58 ` Herbert Xu
2006-05-31 5:11 ` David Miller
2006-05-31 5:14 ` Herbert Xu
2006-05-31 6:26 ` David Miller
2006-05-31 6:31 ` Herbert Xu
2006-05-31 7:08 ` David Miller
2006-05-31 12:06 ` Herbert Xu
2006-05-31 12:36 ` jamal
2006-05-31 12:40 ` Herbert Xu
2006-05-31 13:03 ` jamal
2006-05-31 17:52 ` Robert Olsson
2006-06-02 3:25 ` Stephen Hemminger [this message]
2006-06-02 10:46 ` Robert Olsson
2006-06-14 12:52 ` jamal
2006-05-31 21:20 ` Michael Chan
2006-06-01 0:09 ` David Miller
2006-06-01 0:25 ` Herbert Xu
2006-05-31 23:01 ` Michael Chan
2006-06-01 0:42 ` Herbert Xu
2006-06-01 0:27 ` Michael Chan
2006-06-01 2:27 ` Herbert Xu
2006-06-01 11:15 ` [NET]: Add netif_tx_lock Herbert Xu
2006-06-06 4:32 ` David Miller
2006-06-06 4:44 ` Roland Dreier
2006-06-06 4:50 ` Roland Dreier
2006-06-06 4:57 ` Roland Dreier
2006-06-06 5:10 ` David Miller
2006-06-06 6:01 ` Roland Dreier
2006-06-06 4:58 ` David Miller
2006-06-06 5:04 ` Roland Dreier
2006-06-06 5:09 ` David Miller
2006-06-06 4:57 ` David Miller
2006-06-06 10:22 ` Herbert Xu
2006-06-09 5:48 ` Herbert Xu
2006-06-09 19:21 ` David Miller
-- strict thread matches above, loose matches on Subject: below --
2006-05-31 5:30 netif_tx_disable and lockless TX Michael Chan
2006-05-31 5:33 ` Herbert Xu
2006-05-31 4:03 Herbert Xu
2006-05-31 4:13 ` David Miller
2006-05-31 4:17 ` Herbert Xu
2006-05-31 4:13 ` Roland Dreier
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=447FAFAD.9000503@osdl.org \
--to=shemminger@osdl.org \
--cc=Robert.Olsson@data.slu.se \
--cc=ak@suse.de \
--cc=davem@davemloft.net \
--cc=hadi@cyberus.ca \
--cc=herbert@gondor.apana.org.au \
--cc=jgarzik@pobox.com \
--cc=mchan@broadcom.com \
--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).