OSDN Git Service

Merge branch 'ibmvnic-next'
authorDavid S. Miller <davem@davemloft.net>
Wed, 15 Sep 2021 10:12:24 +0000 (11:12 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 15 Sep 2021 10:12:24 +0000 (11:12 +0100)
commitc506cc5bc6e33a20ca615043aa3ddb2da4b8c210
tree9fe32f5584e42ca1203ee32646796abc987445e9
parent923990f6431e6f07dbe99780dd8c4472596aa213
parentbbd809305bc72da8ac02841d3db5437bfe556233
Merge branch 'ibmvnic-next'

Sukadev Bhattiprolu says:

====================
ibmvnic: Reuse ltb, rx, tx pools

It can take a long time to free and reallocate rx and tx pools and long
term buffer (LTB) during each reset of the VNIC. This is specially true
when the partition (LPAR) is heavily loaded and going through a Logical
Partition Migration (LPM). The long drawn reset causes the LPAR to lose
connectivity for extended periods of time and results in "RMC connection"
errors and the LPM failing.

What is worse is that during the LPM we could get a failover because
of the lost connectivity. At that point, the vnic driver releases
even the resources it has already allocated and starts over.

As long as the resources we have already allocated are valid/applicable,
we might as well hold on to them while trying to allocate the remaining
resources. This patch set attempts to reuse the resources previously
allocated as long as they are valid. It seems to vastly improve the
time taken for the vnic reset and signficantly reduces the chances of
getting the RMC connection errors. We do get still them occasionally,
but appears to be for reasons other than memory allocation delays and
those are still being investigated.

If the backing devices for a vnic adapter are not "matched" (see "pool
parameters" in patches 8 and 9) it is possible that we will still free
all the resources and allocate them. If that becomes a common problem,
we have to address it separately.

Thanks to input and extensive testing from Brian King, Cris Forno,
Dany Madden, Rick Lindsley.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>