On Wed, Jan 15, 2003 at 04:18:28PM +0100, wim delvaux wrote:
> > As far as i know ramfs "shares" its memory. It only uses memory when you
> > copy files to it. So the pages it is actually using at any point in time
> >
> > are known by the linux memory menagement code. A reboot will certanly
>
> Well I am not sure, there is a module in 2.5x versions and 2.4.x releases
> called swsusp (software suspend). It allows to 'save' memory to swapspace
> and restore it later. I 'presume' that that modules reads from disk to
> refresh the cleared ram and reset internal data pointers in the MM-code.
>
> Now since the RAM does NOT get erased (otherwise nvrd would not work)
> could one just update these pointers ?
If you take a look at the install instructions for nvrd, you'll discover
that the only reason its RAM doesn't get erased is that we lie to the
kernel about how much RAM is there. This is because in the standard
kernel, that's the only time you can adjust the available RAM space.
It'd be interesting to take a look at the hotplug memory work that's going
on for IA64, and see if a subset of that patch might provide an API for
dynamically shrinking and growing RAM - then, at reboot, you could shrink
RAM, move in-use pages 'above the line', reboot, and 'regrow' as usage
'above the line' drops.
Alternatively, it'd be interesting to see what breaks if you turn off
memory zeroing. Nothing in the kernel should really _depend_ on all
of RAM having been zeroed. You'd still need to intervene _very_ early
in the boot process to rescue pages in use as a RAMFS before they get
touched by booting processes.
Ross
Received on Wed Jan 15 16:31:57 2003
This archive was generated by hypermail 2.1.8 : Tue May 04 2004 - 09:45:00 EDT