viona should operate page-wise
Viona has long assumed that guest-physical memory is accessible via large virtually-contiguous regions in the kernel address space. While this is convenient for viona, it constrains further structural improvements that could be made to the guest memory internals of bhyve. A more reasonable approach for viona would be to access guest memory as if single 4k pages are the largest unit of contiguity. This will result in slightly higher overhead in viona, but is likely a necessary step on the way to implementing better guest memory allocation and/or live migration.
Updated by Patrick Mooney 8 months ago
This change, being almost entirely constrained to the ring manipulation portion of the viona code, was tested by checking that network traffic over viona guest interfaces functioned the same as before. This was done on a variety of guests on both Intel and AMD hardware. After tests (such as iperf3 load) were performed, the vring statistics were checked for anomalous conditions they may have picked up on. Those stats reported zero, just as they were prior to the test.
Updated by Electric Monk 8 months ago
- Status changed from In Progress to Closed
- % Done changed from 0 to 100
commit 427f9b9a1690e7cccb2abf62f78dba64a69b83e1 Author: Patrick Mooney <firstname.lastname@example.org> Date: 2021-06-03T01:54:28.000Z 13783 viona should operate page-wise Reviewed by: Dan Cross <email@example.com> Reviewed by: Robert Mustacchi <firstname.lastname@example.org> Reviewed by: Mike Zeller <email@example.com> Approved by: Gordon Ross <firstname.lastname@example.org>