From: Andy Gospodarek <andrew.gospodarek@broadcom.com>
To: David Miller <davem@davemloft.net>
Cc: talgi@mellanox.com, netdev@vger.kernel.org, tariqt@mellanox.com,
saeedm@mellanox.com, f.fainelli@gmail.com,
andrew.gospodarek@broadcom.com
Subject: Re: [PATCH net-next V3 0/3] Introduce adaptive TX interrupt moderation to net DIM
Date: Tue, 24 Apr 2018 11:02:46 -0400 [thread overview]
Message-ID: <20180424150246.GA28159@C02RW35GFVH8.dhcp.broadcom.net> (raw)
In-Reply-To: <20180424.101809.1309625246933780728.davem@davemloft.net>
On Tue, Apr 24, 2018 at 10:18:09AM -0400, David Miller wrote:
> From: Tal Gilboa <talgi@mellanox.com>
> Date: Tue, 24 Apr 2018 13:36:00 +0300
>
> > Net DIM is a library designed for dynamic interrupt moderation. It was
> > implemented and optimized with receive side interrupts in mind, since these
> > are usually the CPU expensive ones. This patch-set introduces adaptive transmit
> > interrupt moderation to net DIM, complete with a usage in the mlx5e driver.
> > Using adaptive TX behavior would reduce interrupt rate for multiple scenarios.
> > Furthermore, it is essential for increasing bandwidth on cases where payload
> > aggregation is required.
> >
> > v3: Remove "inline" from functions in .c files (requested by DaveM). Revert
> > adding "enabled" field from struct net_dim and applied mlx5e structural
> > suggestions (suggested by SaeedM).
> >
> > v2: Rebase over proper tree.
> >
> > v1: Fix compilation issues due to missed function renaming.
>
> I have no problem with this, series applied, thanks.
>
> Although I have to say that I've always been suspicious of adaptive moderation
> schemes, especially if implemented in software.
>
> My thinking was that at these kinds of link speeds, the conditions of the link
> change so fast that whatever state you've measured changes by the time you
> commit new settings to the chip.
>
> It obviously helps, so I must be missing some piece of the puzzle in my mental
> analysis :-)
You are definitely correct that there are many cases where sessions are
so short that by the time a measurement is made and modified conditions
can change.
What I found when adding this to the bnxt_en driver was that for longer
running sessions/transfers (flows lasting secs not msecs) that the
adjustment can happen pretty quickly and you get a nice reduction in CPU
utilization during the duration of that transfer.
There is also an advantage that since this is done a per queue basis one
queue that may be handling a bulk transfer can have its coalescing
parameters adjusted while others stay at a setting that keeps traffic
flowing at low latency. This is helpful when a system is receiving a
large amount of traffic on one queue but also sending data on another
queue and quick processing of acks keeps data flowing at high rate with
low CPU utilization in both directions.
next prev parent reply other threads:[~2018-04-24 15:02 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-24 10:36 [PATCH net-next V3 0/3] Introduce adaptive TX interrupt moderation to net DIM Tal Gilboa
2018-04-24 10:36 ` [PATCH net-next V3 1/3] net/dim: Rename *_get_profile() functions to *_get_rx_moderation() Tal Gilboa
2018-04-24 10:36 ` [PATCH net-next V3 2/3] net/dim: Support adaptive TX moderation Tal Gilboa
2018-04-24 10:36 ` [PATCH net-next V3 3/3] net/mlx5e: Enable adaptive-TX moderation Tal Gilboa
2018-04-24 14:18 ` [PATCH net-next V3 0/3] Introduce adaptive TX interrupt moderation to net DIM David Miller
2018-04-24 15:02 ` Andy Gospodarek [this message]
2018-04-24 15:08 ` David Miller
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=20180424150246.GA28159@C02RW35GFVH8.dhcp.broadcom.net \
--to=andrew.gospodarek@broadcom.com \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=saeedm@mellanox.com \
--cc=talgi@mellanox.com \
--cc=tariqt@mellanox.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