Re: Ideas for memory management hackers (2)

Matti Aarnio (matti.aarnio@tele.fi)
Mon, 17 Nov 1997 00:05:53 +0200 (EET)


> > > - VM areas are limited to 128MB. This leads to many swap-files. (I am
> > > not quite shure about further limitation. Does it mean that bigger
> > > mmaps are not possible? The swapfile limitation is definitely in the
> > > kernel.)
> >
> > no more than 128MB shared memory AFAIK?! this is bad for some (big) databases...
>
> The kernel is happy with > 128Mbytes, the only limit is on physical memory
> (1Gig) and virtual (3Gig). The limit he refers to is swap file/partition size
> per partition and is becoming an irritiation in itself for osme

The limitation comes from usage of bitmap of locked-off swap-pages.
The bitmap size is currently one page ( 4096 bytes at ix86, 8192
bytes at Alpha ) which translates to 128 MB / 512 MB swap space
maximas per swap partition.

There could be a mechanism to "hide" this (1*PGSIZE-10)*8 page
limitation by allowing bigger swap partitions, and embedding into
them several sequential swap areas.

At the mm/swapfile.c: sys_swapon(), the system would try to see of the
partition is bigger than the magic limit, and if it is, sees if there
is another swap-signature with associated swap pages, and takes that
new area into use too, etc. until the end of the partition.

The swapoff must turn off swaping from entire file/partition when
any of the subfiles is referred.

The subfiles should get sequential preferrence, not parallel, because
they are at the same spindle...

The "mkswap" utility will need changes to write those additional
swap signatures as well.

Now who would do the code ?

/Matti Aarnio <matti.aarnio@tele.fi>