Re: New Feature Idea: Compress swap file

Stefan Monnier (monnier+lists/linux/kernel@TEQUILA.SYSTEMSZ.CS.YALE.EDU)
Fri, 20 Feb 1998 13:36:03 -0500


MOLNAR Ingo <mingo@chiara.csoma.elte.hu> wrote:
> On 20 Feb 1998, Stefan Monnier wrote:
> > The only way I can see to make it successful is:
> > 1 - compress fast
> > 2 - compress a lot
> > 3 - beware of mapping between incore addresses and compressed addresses.
> Linux does not swap 'incore' addresses, so 3) is a non-issue.

I meant "virtual addresses" vs "location in compressed swap".
Currently this info is kept IIRC in the pagetable and doesn't incur
any fragmentation. With compression, this can get noticeably nastier.

> > All in all, unrealizable within Unix, but probably doable in a
> > (non-conservatively) GC'd world (since the GC already knows what is a
> > pointer and what is not and is able to move objects at will). LISP
> > machines, Smalltalk machines, or JavaOS would probably be good systems
> > to try it on.
> Maybe unrealizable within Unix and NT, but not within Linux ;)

Moving objects is very hard to do if you want to allow C programs that
do "strange" pointer casts (in other words, 99.99% of all C programs).
I believe a Linux hack that would prevent Linux from providing full C
support would be very unpopular.
Also the description of what is a pointer and what is not has to be known
by the swap/compress code which amounts to standardizing it: most GC'd
languages use their very own scheme and even the debug info (which
could be used for more traditional languages like Fortran/C/Pascal)
is not well standardized.

Maybe not unrealizable within Unix or Linux, but very hard to make it
work transparently.

Stefan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu