Yizheng,
On 28/05/15 05:34, Yizheng Jiao wrote:
Hi Rump experts,
I want to have a deep study on Linux Buddy Allocator or the whole virtual
memory management system. Is possible for me to move the source code under
linux/mm/
to user space to test the functionality. I don't have a deep understanding
of how rump
kernel works. That is why I am emailing to ask whether it is possible to
archive this by
using rump and how.
No, actually for several reasons:
1) page level allocation in a rump kernel is a hypercall, and
furthermore rump kernels do not implement virtual memory (you can find
the rationale for the lack of virtual memory in my thesis)
2) the current implementation supports only NetBSD, and there is no
magic that would allow you to form a rump kernel out of the Linux kernel
sources without significant work. There is a project called NUSE [1],
and if you want to study Linux, you might want to look at that instead.
That said, I do not know how or how completely they implement memory
management.
What you can do with a rump kernel is study the characteristics of the
NetBSD memory allocators (kmem, vmem, pool cache), but even then you
need to understand what exactly you want to measure, since you will see
some differences in traces due to rump kernels running on an external
scheduler.
- antti
[1] https://libos-nuse.github.io/