[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[UNIKRAFT/BALLOON v2 0/7] Memory Ballooning Cover Letter



From: Cezar Craciunoiu <cezar.craciunoiu@xxxxxxxxx>

Hello to whoever is reading this.

This is my version of the memory ballooning patch two people added around
one year ago. This patch structures the code that they worked on and
separates it in different files, based on the content. This, along with
the additions brought to the Makefile and Config files, fixed one of their
issues mentioned in the cover letter: working with the Unikraft
build system.

Also, more than a couple of bugs were fixed, along with coding style fixes,
to ensure that the reviewing process takes as little time as possible.

Lastly, and maybe the most important part, the KVM Memory Balloon works in
any circumstances, handling malloc/free calls with
no noticeable slowdowns. Xen should also work, but the way the interaction
with it is done, made testing the balloon for it pretty hard.

Unfortunately, right now, the Linuxu implementation does not exist,
but it does not hinder the normal execution of applications.
The code could be revisited when a stable version of mmap/munmap is
released (if I understood correctly, right now it is just a "trick"
to fool Go).

Thank you very much for the chance to work on this patch.
I will stay in touch with the reviewer until the patch is brought to a
stable/usable state.

Yours sincerely,

Cezar Craciunoiu
University Politehnica of Bucharest

Cezar Craciunoiu (7):
  plat/balloon: Declared balloon interaction functions
  plat/drivers/include/balloon: Declared KVM driver inflate/deflate
    functions
  plat/drivers/balloon: KVM Virtio balloon driver implementation
  plat/kvm/balloon: KVM balloon driver calls implementation
  plat/linuxu/balloon: Linuxu balloon stubs
  plat/xen/balloon: Xen balloon hypervisor calls implementation
  lib/ukallocbbuddy: Balloon API calls insertion

 include/uk/plat/balloon.h              |  64 +++++
 lib/ukallocbbuddy/Config.uk            |   2 +
 lib/ukallocbbuddy/bbuddy.c             | 137 ++++++++-
 plat/drivers/balloon/balloon_drv.c     | 371 +++++++++++++++++++++++++
 plat/drivers/include/balloon/balloon.h |  46 +++
 plat/kvm/Config.uk                     |  10 +
 plat/kvm/Makefile.uk                   |  11 +
 plat/kvm/balloon.c                     | 107 +++++++
 plat/linuxu/Makefile.uk                |   2 +
 plat/linuxu/balloon.c                  |  61 ++++
 plat/xen/Makefile.uk                   |   1 +
 plat/xen/balloon.c                     | 135 +++++++++
 12 files changed, 945 insertions(+), 2 deletions(-)
 create mode 100644 include/uk/plat/balloon.h
 create mode 100644 plat/drivers/balloon/balloon_drv.c
 create mode 100644 plat/drivers/include/balloon/balloon.h
 create mode 100644 plat/kvm/balloon.c
 create mode 100644 plat/linuxu/balloon.c
 create mode 100644 plat/xen/balloon.c

-- 
2.20.1




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.