On Mon, Apr 01, 2024 at 11:26:25PM +0200, Yu Zhang wrote:
Hello Peter und Zhjian,
Thank you so much for letting me know about this. I'm also a bit surprised at
the plan for deprecating the RDMA migration subsystem.
It's not too late, since it looks like we do have users not yet notified
from this, we'll redo the deprecation procedure even if it'll be the final
plan, and it'll be 2 releases after this.
> IMHO it's more important to know whether there are still users and whether
> they would still like to see it around.
> I admit RDMA migration was lack of testing(unit/CI test), which led to the a few
> obvious bugs being noticed too late.
Yes, we are a user of this subsystem. I was unaware of the lack of test coverage
for this part. As soon as 8.2 was released, I saw that many of the
migration test
cases failed and came to realize that there might be a bug between 8.1
and 8.2, but
was unable to confirm and report it quickly to you.
The maintenance of this part could be too costly or difficult from
your point of view.
It may or may not be too costly, it's just that we need real users of RDMA
taking some care of it. Having it broken easily for >1 releases definitely
is a sign of lack of users. It is an implication to the community that we
should consider dropping some features so that we can get the best use of
the community resources for the things that may have a broader audience.
One thing majorly missing is a RDMA tester to guard all the merges to not
break RDMA paths, hopefully in CI. That should not rely on RDMA hardwares
but just to sanity check the migration+rdma code running all fine. RDMA
taught us the lesson so we're requesting CI coverage for all other new
features that will be merged at least for migration subsystem, so that we
plan to not merge anything that is not covered by CI unless extremely
necessary in the future.
For sure CI is not the only missing part, but I'd say we should start with
it, then someone should also take care of the code even if only in
maintenance mode (no new feature to add on top).
My concern is, this plan will forces a few QEMU users (not sure how
many) like us
either to stick to the RDMA migration by using an increasingly older
version of QEMU,
or to abandon the currently used RDMA migration.
RDMA doesn't get new features anyway, if there's specific use case for RDMA
migrations, would it work if such scenario uses the old binary? Is it
possible to switch to the TCP protocol with some good NICs?
Per our best knowledge, RDMA users are rare, and please let anyone know if
you are aware of such users. IIUC the major reason why RDMA stopped being
the trend is because the network is not like ten years ago; I don't think I
have good knowledge in RDMA at all nor network, but my understanding is
it's pretty easy to fetch modern NIC to outperform RDMAs, then it may make
little sense to maintain multiple protocols, considering RDMA migration
code is so special so that it has the most custom code comparing to other
protocols.
Thanks,
--
Peter Xu