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

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



Hello,

This patch series has now been moved to Github[1] and will be resolved there.
Any further discussions will be held there.

[1]: https://github.com/unikraft/unikraft/pull/219

Cezar

On 2020-08-28 17:45:26, CezarCraciunoiu <cezar.craciunoiu@xxxxxxxxx> wrote:

From: Cezar Craciunoiu

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®.