Bug #14755
openviona should expose more ring state
0%
Description
Currently, there is no interface to query the "current avail index" and "used index" values from viona's in-kernel rings. Being able to import and export that data is a requirement for save-restore or live-migration of a bhyve instance utilizing viona. In order to make that available, I suggest reworking viona's ring initialization in general so that cur_avail_idx
and used_idx
are among the parameters (which currently include ring size and guest-physical address). Similarly, that parameter struct could be queried in order to export the values after running for a time. Because entry into VRS_RESET
clears all of the runtime data of the ring, it would also be advantageous to add a "pause" state which halts processing of the ring (similar to transitioning to VRS_RESET
) but returns the ring to VRS_INIT
(keeping cur_avail_idx
, used_idx
, and the other ring params intact), ready for restart at the vmm's convenience.