event/dsw: avoid migration waves in large systems
authorMattias Rönnblom <mattias.ronnblom@ericsson.com>
Mon, 9 Mar 2020 06:51:03 +0000 (07:51 +0100)
committerJerin Jacob <jerinj@marvell.com>
Sat, 4 Apr 2020 14:32:02 +0000 (16:32 +0200)
commit570ac17b8c3351dd751e40492de9b6469978a6bf
treeb8761799e3a8a7d7c6917facfd01e4cd08799ad1
parent1f2b99e8d9b1bde2bba588fcbbd23e53d199ad79
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>
drivers/event/dsw/dsw_evdev.c
drivers/event/dsw/dsw_evdev.h
drivers/event/dsw/dsw_event.c