-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RFC] Save/restore state design proposal #118
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Laura Loghin <[email protected]>
That means we need to move versionize crate to rust vmm, and get an agreement about data structures versions? |
Moving the versionize crate to rust-vmm shouldn't be required, but yes we will need to get an agreement on the structures versions. Other option would be to not have the explicit versionize support in rust-vmm crates, and let the VMMs define their own |
It's not easy to cooperate several vmms about the data structure versioning. |
As we have offline discussed with @lauralt, the major challenge is to cooperate on the data structure version numbering. One possible solution is:
|
RtcState represents the state of the Rtc device, and is storing the state needed for restoring the device (no implementation detailis). The generic `events` object is not stored due to complexity reasons. More details in the design proposal: rust-vmm/community#118. Signed-off-by: Laura Loghin <[email protected]>
RtcState represents the state of the Rtc device, and is storing the state needed for restoring the device (no implementation detailis). The generic `events` object is not stored due to complexity reasons. More details in the design proposal: rust-vmm/community#118. Signed-off-by: Laura Loghin <[email protected]>
RtcState represents the state of the Rtc device, and is storing the state needed for restoring the device (no implementation detailis). The generic `events` object is not stored due to complexity reasons. More details in the design proposal: rust-vmm/community#118. Signed-off-by: Laura Loghin <[email protected]>
RtcState represents the state of the Rtc device, and is storing the state needed for restoring the device (no implementation detailis). The generic `events` object is not stored due to complexity reasons. More details in the design proposal: rust-vmm/community#118. Signed-off-by: Laura Loghin <[email protected]>
How do you plan to enforce this standard to all the components? Is there a way to mechanically generate the required code snippets? I was hoping you introduced some traits that all components must implement to conform to the standard, which also enables programmatically dealing with states from VMM's point of view, like looping through a list of trait objects to retrieve or set their states. But looking at the example PR it looks manual and bespoke to each component. |
What happens if the contents in the states are different across hypervisors for example KVM states are a little bit different than Microsoft Hypervisor? |
I'm not sure it is possible to programmatically enforce this standard, I assume even if we'd add a trait, the component would still not be forced to implement it. |
Exactly. I think the only way to "force" the adoption is to have a nice framework that provides a lot of goodies when you implement those traits.
Sure. This sounds fair. |
Hmm, I think this one belongs to the broader discussion of how the interfaces will look like in vm-vcpu. We can decide at that point where/how to define the state and the setter/getter for it. I can't think of any blocker with the current proposal for the vcpu use case, but maybe I am missing something. |
RtcState represents the state of the Rtc device, and is storing the state needed for restoring the device (no implementation detailis). The generic `events` object is not stored due to complexity reasons. More details in the design proposal: rust-vmm/community#118. Signed-off-by: Laura Loghin <[email protected]>
RtcState represents the state of the Rtc device, and is storing the state needed for restoring the device (no implementation detailis). The generic `events` object is not stored due to complexity reasons. More details in the design proposal: rust-vmm/community#118. Signed-off-by: Laura Loghin <[email protected]>
RtcState represents the state of the Rtc device, and is storing the state needed for restoring the device (no implementation detailis). The generic `events` object is not stored due to complexity reasons. More details in the design proposal: rust-vmm/community#118. Signed-off-by: Laura Loghin <[email protected]>
RtcState represents the state of the Rtc device, and is storing the state needed for restoring the device (no implementation detailis). The generic `events` object is not stored due to complexity reasons. More details in the design proposal: rust-vmm/community#118. Signed-off-by: Laura Loghin <[email protected]>
RtcState represents the state of the Rtc device, and is storing the state needed for restoring the device (no implementation detailis). The generic `events` object is not stored due to complexity reasons. More details in the design proposal: rust-vmm/community#118. Signed-off-by: Laura Loghin <[email protected]>
No description provided.