mbox series

[RFC,0/7] migration/multifd: quit unitifications and separate sync packet

Message ID 20231022201211.452861-1-peterx@redhat.com
Headers show
Series migration/multifd: quit unitifications and separate sync packet | expand

Message

Peter Xu Oct. 22, 2023, 8:12 p.m. UTC
This is an RFC series, at least for 9.0, so not urgent for this release.
Just for early reviews.

Said so, patch 1 could be a bugfix, didn't copy stable as I don't think
it's worthwhile.  Maybe worth picking up even soon.

This series majorly does two things as mentioned in the subject, namely:

 1) Quit unifications: after read Fabiano's patch, I moved that further to
    drop p->quit, meanwhile I found some path that may miss things here and
    there.  Got all of them cleaned/fixed up.

 2) Separate SYNC packet: it seems the SYNC packet is confusing in multifd,
    where it's the only case that main thread can modify p->flags too.  The
    field "pending_job" is also confusing to be an integer.  Split it can
    be helpful to make multifd code more readable, meanwhile making
    pending_job a boolean (with yet another one added pending_sync for SYNC).

I think I'm more confident 1) is a good idea, maybe not 2). The last patch
I put it last because I think it reduces duplication, but I'm not sure
whether that's a common flavour of how code should be written.  Let me know
your opinions.  Thanks,

Peter Xu (7):
  migration: Drop stale comment for multifd zero copy
  migration: Fix error leak in multifd_tls_outgoing_handshake()
  migration: multifd_send_kick_main()
  migration: Drop MultiFDSendParams.quit and cleanup error paths
  migration: Modulize multifd send threads with a few helpers
  migration: Split multifd pending_job into two booleans
  migration: Further unify paths for multifd normal or sync requests

 migration/multifd.h |  18 +--
 migration/multifd.c | 307 +++++++++++++++++++++++---------------------
 2 files changed, 170 insertions(+), 155 deletions(-)