The dr'ex Kernel Userland


crt0

A very simple init file. It just sets up a stack and calls the null syscall before looping forever.
Download drexul-crt0.tar.gz.

null-loop

Calls the null syscall in an infinite loop. Used for benchmarking with a drex--murgiahack kernel configured with 'CONFIG_SYSCALL_DUMP=y'.
Download null-loop.tar.gz.

localmigration

It migrates continuously to another function in the same address space, that immediately migrates back.
A drex--murgiahack kernel configured with 'CONFIG_SYSCALL_TEMP=y' is needed to run this executable.
Setting CONFIG_SYSCALL_DUMP=y in drex configuration will give interesting values on thread migrating performance.
Nov. 25th, 2005: I was able to put a bug in this 3 lines assembler file. Fixed now.
Download localmigration.tar.gz.

capbased-localmigration

Like localmigration except that it uses real capability based syscalls.
To run this you need drex--murgiahack--0.0.2 or higher and no special kernel configurations.
Setting CONFIG_SYSCALL_DUMP=y in drex configuration will give interesting values on thread migrating performance, and comparing them with localmigration ones is useful to study the capability system's overhead.
Download capbased-localmigration.tar.gz.

clonemigration

Like capbased-localmigration except that it migrates to init's clone address space, thus effectively switching page directories.
To run this you need drex--murgiahack--0.0.3 or higher configured with CONFIG_INIT_CLONE=y.
Setting CONFIG_SYSCALL_DUMP=y in drex configuration will give interesting values on thread migrating and context switching performance performance, and comparing them with capbased-localmigration ones is useful to study the address space switching's overhead.
Download clonemigration.tar.gz.

Sourceforge Logo