netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alexander Duyck <alexander.duyck@gmail.com>
To: Alexander Duyck <alexander.h.duyck@redhat.com>,
	netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org
Subject: Re: [Intel-wired-lan] [PATCH] ixgbe: Limit lowest interrupt rate for adaptive interrupt moderation to 12K
Date: Tue, 1 Sep 2015 18:49:23 -0700	[thread overview]
Message-ID: <55E655A3.9010304@gmail.com> (raw)
In-Reply-To: <20150730221927.984.91700.stgit@ahduyck-vm-fedora22>

On 07/30/2015 03:19 PM, Alexander Duyck wrote:
> This patch updates the lowest limit for adaptive interrupt interrupt
> moderation to roughly 12K interrupts per second.
>
> The way I came about reaching 12K as the desired interrupt rate is by
> testing with UDP flows.  Specifically I had a simple test that ran a
> netperf UDP_STREAM test at varying sizes.  What I found was as the packet
> sizes increased the performance fell steadily behind until we were only
> able to receive at ~4Gb/s with a message size of 65507.  A bit of digging
> found that we were dropping packets for the socket in the network stack,
> and looking at things further what I found was I could solve it by increasing
> the interrupt rate, or increasing the rmem_default/rmem_max.  What I found was
> that when the interrupt coalescing resulted in more data being processed
> per interrupt than could be stored in the socket buffer we started losing
> packets and the performance dropped.  So I reached 12K based on the
> following math.
>
> rmem_default = 212992
> skb->truesize = 2994
> 212992 / 2994 = 71.14 packets to fill the buffer
>
> packet rate at 1514 packet size is 812744pps
> 71.14 / 812744 = 87.9us to fill socket buffer
>
> >From there it was just a matter of choosing the interrupt rate and
> providing a bit of wiggle room which is why I decided to go with 12K
> interrupts per second as that uses a value of 84us.
>
> The data below is based on VM to VM over a direct assigned ixgbe interface.
> The test run was:
> 	netperf -H <ip> -t UDP_STREAM"
>
> Socket  Message  Elapsed      Messages                   CPU      Service
> Size    Size     Time         Okay Errors   Throughput   Util     Demand
> bytes   bytes    secs            #      #   10^6bits/sec % SS     us/KB
> Before:
> 212992   65507   60.00     1100662      0     9613.4     10.89    0.557
> 212992           60.00      473474            4135.4     11.27    0.576
>
> After:
> 212992   65507   60.00     1100413      0     9611.2     10.73    0.549
> 212992           60.00      974132            8508.3     11.69    0.598
>
> Using bare metal the data is similar but not as dramatic as the throughput
> increases from about 8.5Gb/s to 9.5Gb/s.
>
> Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>

Has there been any update on this patch?  I submitted it just over a 
month ago now and it hasn't received any feedback.  I was hoping this 
could be submitted before the merge window closes for net-next.

Thanks.

- Alex

  reply	other threads:[~2015-09-02  1:49 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-30 22:19 [PATCH] ixgbe: Limit lowest interrupt rate for adaptive interrupt moderation to 12K Alexander Duyck
2015-09-02  1:49 ` Alexander Duyck [this message]
2015-09-02  5:44   ` [Intel-wired-lan] " Hisashi T Fujinaka
2015-09-02 10:07   ` Jeff Kirsher
2015-09-10 19:49     ` Singh, Krishneil K

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=55E655A3.9010304@gmail.com \
    --to=alexander.duyck@gmail.com \
    --cc=alexander.h.duyck@redhat.com \
    --cc=intel-wired-lan@lists.osuosl.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).