skas patch for UML

Brad Fitzpatrick brad@danga.com
Fri, 9 Jan 2004 14:20:11 -0800 (PST)


I was talking to Muli Ben-Yehuda about memcached and he reminded me of the
UML (user mode linux) patch which adds a new syscall (well, character
device) to create/destroy/use address spaces without pids.

If that ever made it into Linux, we could have a single process on a
32-bit machine addressing more than 4GB of memory.  We'd just need to
break up the struct item into two structs:  a small one with just metadata
(key, address space id, prev/next pointers, and data pointer).  Then to
get to the data you switch to the given address space and find it with the
data pointer.

Windows provides that API to applications.  InnoDB uses it, for instance.

http://www.microsoft.com/windows2000/en/datacenter/help/address_windowing_extensions.htm

The Linux equivalent is the UML skas patch, here:

http://aleron.dl.sourceforge.net/sourceforge/user-mode-linux/host-skas3.patch

These might be interesting to use, but it might not be worth it.  The
existing "run a lot of daemons" works fine, I suppose, and 64 bit stuff is
getting halfway popular.

- Brad