Avoid reusing recorded events when performing a migration, since this
may make the migration selection logic pick an already-moved flow.

Fixes: f6257b22e767 ("event/dsw: add load balancing")
Cc: sta...@dpdk.org

Reported-by: Venky Venkatesh <vvenkat...@paloaltonetworks.com>
Signed-off-by: Mattias Rönnblom <mattias.ronnb...@ericsson.com>
---
 drivers/event/dsw/dsw_event.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/event/dsw/dsw_event.c b/drivers/event/dsw/dsw_event.c
index d68b71b98..296adea18 100644
--- a/drivers/event/dsw/dsw_event.c
+++ b/drivers/event/dsw/dsw_event.c
@@ -646,6 +646,9 @@ dsw_port_consider_migration(struct dsw_evdev *dsw,
        if (dsw->num_ports == 1)
                return;
 
+       if (seen_events_len < DSW_MAX_EVENTS_RECORDED)
+               return;
+
        DSW_LOG_DP_PORT(DEBUG, source_port->id, "Considering migration.\n");
 
        /* Randomize interval to avoid having all threads considering
-- 
2.17.1

Reply via email to