Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Mar 1997 17:12:40 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        dg@root.com
Cc:        terry@lambert.org, hasty@rah.star-gate.com, hackers@FreeBSD.ORG
Subject:   Re: loadable modules and allocating a big memory segment?
Message-ID:  <199703220012.RAA16659@phaeton.artisoft.com>
In-Reply-To: <199703212320.PAA10490@root.com> from "David Greenman" at Mar 21, 97 03:20:08 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> >Effectively, there is no reson why all physical page space can not
> >be reclaimed, short of the GDT and the currently active LDT, by
> >simply moving around page data and page table entries.  If you want
> >to get a bit more complicated (using the dword count for the LGDT
> >caller to callee stack copying), you should be able to move *everything*
> >around as much as you want.
> 
>    Actually, Terry, you are quite wrong about that. The kernel has many
> instances where it must temprarily store the physical address of a page -
> in order to set up DMA descriptors, for example (indeed, in the DMA
> descriptors themselves), not to mention data structures at the pmap level
> (PV entries, for example).

Well, there's nothing that says the reclaim would occur instantaneously...
only that it would occur.

For devices which can't relocate in physical memory, it's likely that you
would want to attribute the device allocation request so that it can
be allocated as "high persistance".  This would let you pre-defrag the
memory and allocate those next to each other (probably in high memory
under 16M?).

For outstanding operations that aren't high persistance, then you can
be assured that they will complete in a resonable period of time (at
which time the *can* be relocated, like SCSI buffers in the non-bounce
case).


					Regards,
					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703220012.RAA16659>