-
Notifications
You must be signed in to change notification settings - Fork 143
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) Improve network bandwidth by using shared memory between tender and bindings for hvt #290
Conversation
it is overflowing the data
…ypass tree so IncludeOS can switch between these branches without any hassle
2157a94
to
c024e57
Compare
3a9345a
to
09498ac
Compare
09498ac
to
1bfbeea
Compare
Sorry for the very belated reply. I had no idea you were still working on this! After discussing with @djwillia and @ricarkol, I'm retitling this as an "RFC" for now. I definitely want something like this for the "hvt" tender, but have no time to look at it in detail right now, sorry. Having said that, the main points that stand out as in need of addressing are:
I realise that you are now probably busy with other things. So, is it OK with you to use your changes as "inspiration" for a future Solo5 release / re-work them into something upstreamable? |
Summarising the changes done:
Use shared memory and ring buffers provided by Muen's shmstream between hvt tender and hvt binding to speed up network bandwidth and reduce VM exits. Changes are implemented and tested only on Linux. The network performance is now almost equal to that of Qemu's.
Tender:
Bindings:
2 new APIs to do a bulk write to reduce the VM exits:
Shmstream changes: