ssrg-vt / popcorn-kernel

Popcorn Linux kernel for distributed thread execution
Other
156 stars 23 forks source link

Push popcorn components into one or more kernel modules #44

Open bxatnarf opened 6 years ago

bxatnarf commented 6 years ago

The upstreaming process may be simplified if popcorn is refactored into a series of one or more kernel modules. This would make it more likely that other modules and kernel components can make sure of various popcorn features.

xjtuwxg commented 6 years ago

Popcorn uses a system call "popcorn_migration" to tell the kernel to start the migration, which seems not easy to be refactored.

There are some (most) modifications in Linux kernel code. I checked them out with "grep POPCORN". I think we might be able to refactor into modules with some "kernel hooks", but seems we still have to define those hooks in kernel code (also wrapped with CONFIG_xxx). Do you think that will be better?

$ grep POPCORN * -rn | grep -Ev 'cscope.out|Binary|kernel/popcorn|msg_layer'
arch/x86/Kconfig:50:    select ARCH_SUPPORTS_POPCORN    if X86_64
arch/x86/mm/fault.c:28:#ifdef CONFIG_POPCORN
arch/x86/mm/fault.c:1207:#ifdef CONFIG_POPCORN
... ...