Patches

  • apply the PatchQualityLevels to all the patches in the tree.
  • audit the kgdb patches in the tree, to see what modifications were made specific to openmosix
    • find out what version of kgdb this started out as

Build System issues

  • establish what the behavior of setupenv should be reguarding paths, relative and otherwise..
  • make setupenv download a kernel, and make git ignore the downloaded kernel. examine code in firmware linux. so we can remove the kernel from our git tree...

Userspace Issues

  • document the test suite:
    • what it should do
      • order of tests - first test should be signal, signal back, migrate, signal, signal back, migrate home, signal, signal back, die.
    • document changes required for qemu
  • document where the current code fails the tests, and why, as far back as possible
  • compile and boot the current kernel (with the all the patches in series un-commented!) on all archetectures.
  • run the linux test package on our kernel, and compare to un-patched 2.6.17. make sure we didn't break anything.
  • merge our test suite into the linux test package.

Kernelspace issues

  • Examine patches 44 and 45, from openmosix-git.patch. See how some kernel functions take a task *, and others just assume current? It would be nice if someone would fix the linux kernel to have all the functions we're calling that assume current ha an analogue that accepts a task *.

Documentation

  • examine kdoc, find out how much of our docs can go in-tree.
  • Create a series of diagrams of subsystems similar to kerrighed's diagrams.

Wiki

Git

  • examine gitweb style interfaces. i like the mercurial web interface, the .bz2 at the top for tip is neat...

Publicity

  • Raise awareness of the project
  • Fix/Add to our wikipedia article.

Public Services

  • set up two qemu hosts for public users to log into, so that they can reproduce my work

Long term Issues -- CONTACT BEFORE STARTING

  • examine how we handle extended register sets. MMX? SSE? SSE2? SSE3? XMM?
  • examine incorporation of tcp_nowait usage to reduce latencies.
  • examine incorporation of ECN usage cooperation with tcp_nowait.
  • examine both of the above with reguards to packets of size < 32 bytes in hpc/kcom.c around line 54.

Scheduler Issues

  • add "oportunistic migration" option to code (similiar to casual 'job offer' model - advertising job, and then choosing best place to send it).
  • integration of oportunistic migration routines with in-kernel processes monitoring (so i.e. tasks which are 'falling off' scheduler queue too often and are of lower priority will be given more migration oportunities.
  • oportunistic migration 'taxing' support (to allow shaping of load balancing using popular and commonsense 'economy' model - 'highly taxed' places are less attractive for migration)

Scheduler-Qemu-Kernel Interaction?

  • possible sysfs control of oportunistic migration habits, taxation, and agressivenes?
  • preemptive migration (migration of tasks before execution, i.e. migrating of native ppc code to real ppc machine from x86 home node)
  • benefiting from virtualisation (instead of spawning guest process as userspace code, it can be spawned in virtual machine) - verify first if this will provide any benefit at all (generally low priority-cosmetics), though it could be nice if also in-kernel passing of processes to emulated virtual machines could be possible.