[Intel-wired-lan] [PATCH net-next v2 1/3] ice-linux: update dim usage and moderation
Creeley, Brett
brett.creeley at intel.com
Thu Aug 19 20:55:10 UTC 2021
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org> On Behalf Of Jesse Brandeburg
> Sent: Thursday, August 19, 2021 12:30 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [PATCH net-next v2 1/3] ice-linux: update dim usage and moderation
I think the subject should be "ice: ..." instead of "ice-linux: ...". Same
goes for 2/3 and 3/3.
>
> The driver was having trouble with unreliable latency when doing single
> threaded ping-pong tests. This was root caused to the DIM algorithm
> landing on a too slow interrupt value, which caused high latency, and it
> was especially present when queues were being switched frequently by the
> scheduler as happens on default setups today.
>
> In attempting to improve this, we allow the upper rate limit for
> interrupts to move to rate limit of 4 microseconds as a max, which means
> that no vector can generate more than 250,000 interrupts per second. The
> old config was up to 100,000. The driver previously tried to program the
> rate limit too frequently and if the receive and transmit side were both
> active on the same vector, the INTRL would be set incorrectly, and this
> change fixes that issue as a side effect of the redesign.
>
> This driver will operate from now on with a slightly changed DIM table
> with more emphasis towards latency sensitivity by having more table
> entries with lower latency than with high latency (high being >= 64
> microseconds).
>
> The driver also resets the DIM algorithm state with a new stats set when
> there is no work done and the data becomes stale (older than 1 second),
> for the respective receive or transmit portion of the interrupt.
>
> Add a new helper for setting rate limit, which will be used more
> in a followup patch.
>
> Signed-off-by: Jesse Brandeburg <jesse.brandeburg at intel.com>
> ---
> drivers/net/ethernet/intel/ice/ice_lib.c | 25 +++++
> drivers/net/ethernet/intel/ice/ice_lib.h | 1 +
> drivers/net/ethernet/intel/ice/ice_main.c | 118 ++++++++++++----------
> drivers/net/ethernet/intel/ice/ice_txrx.c | 73 ++++++-------
> 4 files changed, 130 insertions(+), 87 deletions(-)
<snip>
More information about the Intel-wired-lan
mailing list