From owner-freebsd-hackers Sun Oct 5 16:09:50 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id QAA15279 for hackers-outgoing; Sun, 5 Oct 1997 16:09:50 -0700 (PDT) (envelope-from owner-freebsd-hackers) Received: from usr05.primenet.com (tlambert@usr05.primenet.com [206.165.6.205]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id QAA15274 for ; Sun, 5 Oct 1997 16:09:46 -0700 (PDT) (envelope-from tlambert@usr05.primenet.com) Received: (from tlambert@localhost) by usr05.primenet.com (8.8.5/8.8.5) id QAA22634; Sun, 5 Oct 1997 16:09:41 -0700 (MST) From: Terry Lambert Message-Id: <199710052309.QAA22634@usr05.primenet.com> Subject: Re: lkms versus hard linked drivers To: julian@whistle.com (Julian Elischer) Date: Sun, 5 Oct 1997 23:09:41 +0000 (GMT) Cc: mdean@best.com, freebsd-hackers@FreeBSD.ORG In-Reply-To: <3435B860.19A13460@whistle.com> from "Julian Elischer" at Oct 3, 97 08:30:40 pm X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > 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.