seL4 / seL4_projects_libs

Other
19 stars 36 forks source link

libsel4vm: implement translation vspace #114

Open chrisguikema opened 1 year ago

chrisguikema commented 1 year ago

This commit keeps the guest memory space mapped into the VMM at all times. This speeds up VMM access to guest memory space, which is vital for high throughput virtio processes.

Furthermore, multicore x86 guests have multiple VMMs running simultaneously. Without the translation vspace, guest memory access must be locked around a mutex, which kills performance.

In order to not break existing functionality, this option is wrapped around a default OFF CMake variable.

chrisguikema commented 1 year ago

The translation vspace used to exist before the ARM and x86 libraries were merged. We had to re-implement it in order for multicore x86 guests to be functional. Then when doing virtio-net work, we realized it dramatically increased performance.