Skip to content

libsel4vm: implement translation vspace#114

Open
chrisguikema wants to merge 1 commit intoseL4:masterfrom
chrisguikema:translation_vpsace
Open

libsel4vm: implement translation vspace#114
chrisguikema wants to merge 1 commit intoseL4:masterfrom
chrisguikema:translation_vpsace

Conversation

@chrisguikema
Copy link
Contributor

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
Copy link
Contributor Author

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.

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.

Signed-off-by: Chris Guikema <chris.guikema@dornerworks.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments