Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Oct 1997 23:09:41 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        julian@whistle.com (Julian Elischer)
Cc:        mdean@best.com, freebsd-hackers@FreeBSD.ORG
Subject:   Re: lkms versus hard linked drivers
Message-ID:  <199710052309.QAA22634@usr05.primenet.com>
In-Reply-To: <3435B860.19A13460@whistle.com> from "Julian Elischer" at Oct 3, 97 08:30:40 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> yes sure.
> the only function that MUST be done at bootup is allocation
> of LARGE physically contiguous buffers of ram.
> because after running a few seconds ram get's fragmented..
> large VIRTUALLY contiguous buffers are ok.

This is actually a bug, since it relates to the ability to mark areas
of RAM off limits for reuse, and force the contents of that area out
to swap; when that region is swapped back in, it will not be to the
area marked off limits.

This is something I've been considering for some time because of
transiently resident drivers for things like QCAM.  It would require
a number of additional VM hooks to implement.

It also bears on the issue of forcing stuff out of swap by marking the
swap region unallocable, and triggering faults on the pages already
swapped to the device.  This is a necessary change for supporing a
"swap off" command.

Part of the problem is that the swap-critical and non-swap-critical
regions of the kernel are not identified with tags specific to the
pages (technically, these tags would originate as ELF section tags
in a future ELF-based system).  Because of this, it means that you
can't relocate kernel pieces in physical memory leaving the kernel
virtual memory unchanges, because you don't know if you will be
executing in the page being relocated to do the relocation.  If you
could do that, you could "pack" the kernel virtual address space
down, and prevent fragmentation.  More likely, you will react to
fragmentation, if and only if you need a chunk of contiguous physical
memory, and let it fragment however it wants the rest of the time.
In sum, this would get rid of the need to allocate the buffers at boot.


					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?199710052309.QAA22634>