openvmm icon indicating copy to clipboard operation
openvmm copied to clipboard

wip - mana: save/restore for keepalive support

Open justus-camp-microsoft opened this issue 1 year ago • 0 comments

Opening this early to get ahead of feedback while I work on save/restore for mana queues. I've merged #945 into this branch in the interest of writing a unit test, but it hasn't actually been implemented yet.

Some open questions:

  • How can I write a unit test for this scenario? I've attempted to use the changes in #945 to write a test but have been unable to get it to work. The vmm_test I've added gets past test_eq so I'm relatively confident the GDMA driver is being restored at least somewhat properly.
  • The enablement code is from me just following nvme_keepalive's lead - is there any interest in changing how enablement works?
  • Should we add error paths to fall-back to completely re-initializing the device in instances of failure?
  • There's a bunch of info! logging I was using for testing - will remove or move to debug level if interest in keeping them around
  • The leak flag is currently set to true in private pool to get past leaking allocations as a result of not restoring the mana queues yet - will turn back to false as soon as restoration is working properly for those as well
  • Should deriving debug be removed for save/restore state?

Is there interest in staging these changes rather than merging one large change in the interest of smaller reviews?

justus-camp-microsoft avatar Mar 14 '25 17:03 justus-camp-microsoft