ibmvnic: Properly dispose of all skbs during a failover.
[ Upstream commit 1b18f09d ] During a reset, there may have been transmits in flight that are no longer valid and cannot be fulfilled. Resetting and clearing the queues is insufficient; each skb also needs to be explicitly freed so that upper levels are not left waiting for confirmation of a transmit that will never happen. If this happens frequently enough, the apparent backlog will cause TCP to begin "congestion control" unnecessarily, culminating in permanently decreased throughput. Fixes: d7c0ef36 ("ibmvnic: Free and re-allocate scrqs when tx/rx scrqs change") Tested-by:Nick Child <nnac123@linux.ibm.com> Reviewed-by:
Brian King <brking@linux.vnet.ibm.com> Signed-off-by:
Rick Lindsley <ricklind@us.ibm.com> Signed-off-by:
David S. Miller <davem@davemloft.net> Signed-off-by:
Sasha Levin <sashal@kernel.org>
parent
5912e5e4
Please register or sign in to comment