All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [dpdk-dev] [PATCH 5/8] event/dsw: avoid migration waves in large systems
@ 2020-03-09  7:17 Jerin Jacob Kollanukkaran
  2020-03-09  7:58 ` Mattias Rönnblom
  0 siblings, 1 reply; 5+ messages in thread
From: Jerin Jacob Kollanukkaran @ 2020-03-09  7:17 UTC (permalink / raw)
  To: Mattias Rönnblom; +Cc: dev, stefan.sundkvist, Ola.Liljedahl

> -----Original Message-----
> From: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
> Sent: Monday, March 9, 2020 12:21 PM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> Cc: dev@dpdk.org; stefan.sundkvist@ericsson.com; Ola.Liljedahl@arm.com;
> Mattias Rönnblom <mattias.ronnblom@ericsson.com>
> Subject:  [PATCH 5/8] event/dsw: avoid migration waves in large systems
> 
> ----------------------------------------------------------------------
> DSW limits the rate of migrations on a per-port basis. Hence, as the number of
> cores grows, so does the total migration capacity.
> 
> In high core-count systems, this allows for a situation where flows are migrated
> to a lightly loaded port which recently already received a number of new flows
> (from other ports). The processing load generated by these new flows may not
> yet be reflected in the lightly loaded port's load estimate. The result is that the
> previously lightly loaded port is now overloaded.
> 
> This patch adds a rough estimate of the size of the inbound migrations to a
> particular port, which can be factored into the migration logic, avoiding the
> above problem.
> 
> Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
> ---
> @@ -491,6 +502,9 @@ dsw_select_emigration_target(struct dsw_evdev *dsw,
>  	target_qfs[*targets_len] = *candidate_qf;
>  	(*targets_len)++;
> 
> +	rte_atomic32_add(&dsw->ports[candidate_port_id].immigration_load,
> +			 candidate_flow_load);

These are the full barriers in arm64 and PowerPC. 
Request to change the C11 mem model[1] with Load and acquire semantics
For better performance enhancement on non x86 machines.

drivers/event/opdl is already moved to C11 mem model.

[1]
https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html


> +
>  	return true;

^ permalink raw reply	[flat|nested] 5+ messages in thread
* [dpdk-dev] [PATCH 0/8] DSW performance and statistics improvements
@ 2020-03-09  6:50 Mattias Rönnblom
  2020-03-09  6:51 ` [dpdk-dev] [PATCH 5/8] event/dsw: avoid migration waves in large systems Mattias Rönnblom
  0 siblings, 1 reply; 5+ messages in thread
From: Mattias Rönnblom @ 2020-03-09  6:50 UTC (permalink / raw)
  To: jerinj; +Cc: dev, stefan.sundkvist, Ola.Liljedahl, Mattias Rönnblom

Performance and statistics improvements for the distributed software
(DSW) event device.

Mattias Rönnblom (8):
  event/dsw: reduce latency in low-load situations
  event/dsw: reduce max flows to speed up load balancing
  event/dsw: extend statistics
  event/dsw: improve migration mechanism
  event/dsw: avoid migration waves in large systems
  event/dsw: remove redundant control ring poll
  event/dsw: remove unnecessary read barrier
  event/dsw: add port busy cycles xstats

 drivers/event/dsw/dsw_evdev.c  |   1 +
 drivers/event/dsw/dsw_evdev.h  |  45 ++-
 drivers/event/dsw/dsw_event.c  | 602 ++++++++++++++++++++-------------
 drivers/event/dsw/dsw_xstats.c |  26 +-
 4 files changed, 425 insertions(+), 249 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-03-09  8:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-09  7:17 [dpdk-dev] [PATCH 5/8] event/dsw: avoid migration waves in large systems Jerin Jacob Kollanukkaran
2020-03-09  7:58 ` Mattias Rönnblom
2020-03-09  8:12   ` Jerin Jacob Kollanukkaran
2020-03-09  8:41     ` Mattias Rönnblom
  -- strict thread matches above, loose matches on Subject: below --
2020-03-09  6:50 [dpdk-dev] [PATCH 0/8] DSW performance and statistics improvements Mattias Rönnblom
2020-03-09  6:51 ` [dpdk-dev] [PATCH 5/8] event/dsw: avoid migration waves in large systems Mattias Rönnblom

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.