From: Alexander Duyck <alexander.h.duyck@intel.com>
To: Alexander Duyck <alexander.duyck@gmail.com>
Cc: David Miller <davem@davemloft.net>,
bhutchings@solarflare.com, jeffrey.t.kirsher@intel.com,
netdev@vger.kernel.org, gospo@redhat.com
Subject: Re: [net-next 03/10] ixgbe: Drop the TX work limit and instead just leave it to budget
Date: Tue, 23 Aug 2011 13:52:18 -0700 [thread overview]
Message-ID: <4E541302.2050007@intel.com> (raw)
In-Reply-To: <CAKgT0UeUCyNRbfvkGKdyi17K6T-fSHukMGYwyJu2xOmAiBDZNA@mail.gmail.com>
On 08/22/2011 09:04 PM, Alexander Duyck wrote:
> On Mon, Aug 22, 2011 at 4:40 PM, David Miller<davem@davemloft.net> wrote:
>> From: Alexander Duyck<alexander.h.duyck@intel.com>
>> Date: Mon, 22 Aug 2011 15:57:51 -0700
>>> The problem seemed to be present as long as I allowed the TX budget to
>>> be a multiple of the RX budget. The easiest way to keep things
>>> balanced and avoid allowing the TX from one CPU to overwhelm the RX on
>>> another was just to keep the budgets equal.
>> You're executing 10 or 20 cpu cycles after every 64 TX reclaims,
>> that's the only effect of these changes. That's not even long enough
>> for a cache line to transfer between two cpus.
> It sounds like I may not have been seeing this due to the type of
> workload I was focusing on. I'll try generating some data with pktgen
> and netperf tomorrow to see how this holds up under small packet
> transmit only traffic since those are the cases most likely to get
> into the state you mention.
>
> Also I would appreciate it if you had any suggestions on other
> workloads I might need to focus on in order to determine the impact of
> this change.
>
> Thanks,
>
> Alex
I found a reason to rewrite this. Basically this modification has a
negative impact in the case of multiple ports on a single CPU all
routing to the same port on the same CPU. It ends up making it so that
the transmit throughput is only (total CPU packets per second)/(number
of ports receiving on cpu). So on a system that can receive at 1.4Mpps
on a single core we end up seeing only a little over 350Kpps of transmit
when 4 ports are all receiving packets on the system.
I'll look at rewriting this. I'll probably leave the work limit
controlling things but lower it to a more reasonable value such as 1/2
to 1/4 of the ring size.
Thanks,
Alex
next prev parent reply other threads:[~2011-08-23 20:55 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-21 7:29 [net-next 00/10][pull request] Intel Wired LAN Driver Update Jeff Kirsher
2011-08-21 7:29 ` [net-next 01/10] ixgbe: Simplify transmit cleanup path Jeff Kirsher
2011-08-21 7:29 ` [net-next 02/10] ixgbe: convert rings from q_vector bit indexed array to linked list Jeff Kirsher
2011-08-21 7:29 ` [net-next 03/10] ixgbe: Drop the TX work limit and instead just leave it to budget Jeff Kirsher
2011-08-21 14:01 ` Ben Hutchings
2011-08-22 16:30 ` Alexander Duyck
2011-08-22 16:46 ` Ben Hutchings
2011-08-22 17:29 ` Alexander Duyck
2011-08-22 20:56 ` David Miller
2011-08-22 22:57 ` Alexander Duyck
2011-08-22 23:40 ` David Miller
2011-08-23 4:04 ` Alexander Duyck
2011-08-23 20:52 ` Alexander Duyck [this message]
2011-08-21 7:29 ` [net-next 04/10] ixgbe: consolidate all MSI-X ring interrupts and poll routines into one Jeff Kirsher
2011-08-21 7:29 ` [net-next 05/10] ixgbe: cleanup allocation and freeing of IRQ affinity hint Jeff Kirsher
2011-08-21 7:29 ` [net-next 06/10] ixgbe: Use ring->dev instead of adapter->pdev->dev when updating DCA Jeff Kirsher
2011-08-21 7:29 ` [net-next 07/10] ixgbe: commonize ixgbe_map_rings_to_vectors to work for all interrupt types Jeff Kirsher
2011-08-21 7:29 ` [net-next 08/10] ixgbe: Drop unnecessary adapter->hw dereference in loopback test setup Jeff Kirsher
2011-08-21 7:29 ` [net-next 09/10] ixgbe: combine PCI_VDEVICE and board declaration to same line Jeff Kirsher
2011-08-21 7:29 ` [net-next 10/10] ixgbe: Update TXDCTL configuration to correctly handle WTHRESH Jeff Kirsher
2011-08-23 22:45 ` [net-next 00/10][pull request] Intel Wired LAN Driver Update David Miller
2011-08-24 2:34 ` Jeff Kirsher
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=4E541302.2050007@intel.com \
--to=alexander.h.duyck@intel.com \
--cc=alexander.duyck@gmail.com \
--cc=bhutchings@solarflare.com \
--cc=davem@davemloft.net \
--cc=gospo@redhat.com \
--cc=jeffrey.t.kirsher@intel.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).