Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Cache partitioning support
authorPeter Dinda <pdinda@northwestern.edu>
Mon, 31 Aug 2015 20:34:00 +0000 (15:34 -0500)
committerroot <root@v-test-r415-3.localdomain>
Mon, 31 Aug 2015 20:34:00 +0000 (15:34 -0500)
commitf1c8d924817188c4f08a97205e97392ff304913f
tree1b87f3ad00dcd6809df9f4e61c11dbc56eff5806
parent6234775894cac514f495b751a046db245ecb124a
Cache partitioning support

This is an experimental feature that allows you to map all
of a VM's page allocations such that they map to a partition
of the last level cache.

The syntax is:

  <cachepart
        block_size=BLOCK_SIZE
        num_colors=NUM_COLORS
        min_color=MIN_COLOR
        max_color=MAX_COLOR />

The BLOCK_SIZE needs to be one page, and your base region
size for the VM needs to be one page, and your allocations of
physical memory to Palacios needs to support enough one page
allocations to satisfy the constraints and the amount of memory
you are asking for.

NUM_COLORS is your view of how many colors (distinct pages) the
abstract cache has while MIN_COLOR to MAX_COLOR are the range
of cache pages of the abstract cache you want to use.  The
system will conform this requested color range on your abstract
cache to a real color range on the actual cache, provided it is
possible.

Note that currently this is implemented (on Linux) by having
the allocator (the buddy allocator) filter prospective free
blocks by their color (the color of their first page).  As
a consequence, allocating the VM is slow:  you need to allocate a
lot of separate pages (one page per base region), and each page
needs to be the right color.
Kconfig
Makefile
palacios/include/palacios/vmm_cachepart.h [new file with mode: 0644]
palacios/src/palacios/Makefile
palacios/src/palacios/vm_guest.c
palacios/src/palacios/vmm_cachepart.c [new file with mode: 0644]