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

[Minios-devel] [UNIKRAFT PATCH v5 0/4] add support for generic memory allocators



This patch series addresses a few bugs and design issues in ukalloc in
order to ease the port of new allocators to unikraft.

"lib/ukalloc: change page allocation api to take a number of pages" updates
the palloc and pfree api to take page number parameters instead of order.

"lib/ukalloc: implement new allocator helpers" implements new
helpers for generic, malloc based memory allocators.

Unfortunately, using this patch with a generic allocator results in page
fault during uk_thread_current because the stack is not aligned at
STACK_SIZE.

This is because the stack is allocated via palloc and not posix_memalign,
hence only guaranteeing page alignment.

We address this issue in "lib/uksched: use posix_memalign to allocate
stack" and "lib/ukalloc: fix multiple issues in uk_posix_memalign_ifpages"
which adds support for alignment > page size to uk_posix_memalign_ifpages.

This patch also addresses an out-of-bounds issue in
uk_posix_memalign_ifpages with allocation aligned at less than a page.

Changes v5:
 - change page allocation API to take a number of pages instead of a size
 - refresh subsequent patches


Hugo Lefeuvre (4):
  lib/ukalloc: change page allocation api to take a number of pages
  lib/ukalloc: fix multiple issues in uk_posix_memalign_ifpages
  lib/uksched: use posix_memalign to allocate stack
  lib/ukalloc: implement new allocator helpers

 lib/ukalloc/alloc.c                 | 154 ++++++++++++++++++++++--------------
 lib/ukalloc/exportsyms.uk           |   3 +
 lib/ukalloc/include/uk/alloc.h      |  24 +++---
 lib/ukalloc/include/uk/alloc_impl.h |  22 +++++-
 lib/ukallocbbuddy/bbuddy.c          |  26 +++++-
 lib/uksched/sched.c                 |   4 +-
 plat/xen/drivers/9p/9pfront.c       |  18 ++---
 7 files changed, 164 insertions(+), 87 deletions(-)

-- 
2.7.4


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

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