Re: RFS issue: no HW filter for paused stream
flat view
From: Amir Vadai <hidden>
Date: 2011-09-19 06:05:09
(Resending in plain text) Tom Hi, When a stream is paused, and its rule is expired while it is paused, no new rule will be configured to the HW when traffic resume. Scenario: 1. Start iperf. 2. Pause it using Ctrl-Z 3. Start another iperf (to make sure first stream rule is expired) 4. Stop the second stream. 5. Resume first stream. Traffic is not steered to the right rx-queue. From looking at the code: - When first stream started, RSS steered traffic to rx-queue 'x'. Because iperf server was running on a different CPU, a new rule was added and current-cpu was set to desired-cpu. - After paused, rule was expired and removed from HW by net driver. But current-cpu wasn't cleared and still is equal to desired-cpu. - When stream was resumed, traffic was steered again by RSS, and because current-cpu was equal to desired-cpu, ndo_rx_flow_steer wasn't called and no rule was configured to the HW. Why isn't current-cpu cleared when expiring a rule? - Amir