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>