public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: "Mattias Rönnblom" <hofors@lysator.liu.se>
To: netdev@vger.kernel.org
Subject: VLAN egress performance
Date: Mon, 08 Feb 2010 13:24:44 +0100	[thread overview]
Message-ID: <87wrynrk37.fsf@isengard.friendlyfire.se> (raw)

Hi.

I'm running Linux on PC w/ a Core i7 CPU and two Intel 82598 NICs, and
I see some anomalies when it comes to egress VLAN performance. I
thought maybe someone on this list was interested in my results.

I'm running the stock Ubuntu 2.6.31 kernel, but with a newer ixgbe
driver (2.0.44.14).

The benchmark is IP forwarding with unidirectional UDP flows @ 64 byte
packets, and I get:

Ingress VLAN  Egress VLAN  Packet Rate    CPU utilization (all cores)
No            No           5.0 Mpacket/s  ~70%
Yes           No           5.0 Mpacket/s  ~75%
No            Yes          1.4 Mpacket/s  ~26%
Yes           Yes          1.3 Mpacket/s  ~26%

"VLAN" here mean I've put a VLAN device on top of the real ixgbe
device.

As you can see, if the egress i/f is a VLAN i/f, the performance is
reduced to less than a third. And in the case of egress VLAN, the
systems basically only uses one HW thread (with a softirqd process
taking up all the time).

Enabling lockdep, it looks like execution is serialized to a large
extent by contention around the "vlan_netdev_xmit_lock_key" lock.

I call this anomaly because I was surprised to see it (as oppose to
other performance degradations/scalability issues in the area of
multicore and IP traffic handling performance).

Does anyone know how difficult it would be to resolve this?  There's
not actually any synchronization needed between the different cores in
the case of VLAN. Correct? This is just an artefact of how the
implementation is done?

I looked briefly at the code, and I must admit I had some trouble
understanding where the flow in terms of locking.

Best regards,
     Mattias

             reply	other threads:[~2010-02-08 12:24 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-08 12:24 Mattias Rönnblom [this message]
2010-02-08 13:13 ` VLAN egress performance Patrick McHardy
2010-02-08 13:24   ` Eric Dumazet
2010-02-08 16:58   ` Mattias Rönnblom

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=87wrynrk37.fsf@isengard.friendlyfire.se \
    --to=hofors@lysator.liu.se \
    --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