SymCall: Symbiotic virtualization through VMM-to-guest upcalls

John R. Lange*, Peter A Dinda

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

12 Scopus citations


Symbiotic virtualization is a new approach to system virtualization in which a guest OS targets the native hardware interface as in full system virtualization, but also optionally exposes a software interface that can be used by a VMM, if present, to increase performance and functionality. Neither the VMM nor the OS needs to support the symbiotic virtualization interface to function together, but if both do, both benefit. We describe the design and implementation of the SymCall symbiotic virtualization interface in our publicly available Palacios VMM for modern x86 machines. SymCall makes it possible for Palacios to make clean synchronous upcalls into a symbiotic guest, much like system calls. One use of symcalls is to allow synchronous collection of semantically rich guest data during exit handling in order to enable new VMM features. We describe the implementation of SwapBypass, a VMM service based on SymCall that reconsiders swap decisions made by a symbiotic Linux guest. Finally, we present a detailed performance evaluation of both SwapBypass and SymCall.

Original languageEnglish (US)
Pages (from-to)193-204
Number of pages12
JournalACM SIGPLAN Notices
Issue number7
StatePublished - Jul 2011


  • Operating systems
  • Virtual machine monitors

ASJC Scopus subject areas

  • General Computer Science


Dive into the research topics of 'SymCall: Symbiotic virtualization through VMM-to-guest upcalls'. Together they form a unique fingerprint.

Cite this