Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Jul 1996 10:57:14 -0500 (EST)
From:      John Dyson <dyson@dyson.iquest.net>
To:        fqueries@jraynard.demon.co.uk (James Raynard)
Cc:        jpbelang@crim.ca, freebsd-questions@freebsd.org
Subject:   Re: kernel malloc question
Message-ID:  <199607121557.KAA02358@dyson.iquest.net>
In-Reply-To: <199607102232.WAA04010@jraynard.demon.co.uk> from "James Raynard" at Jul 10, 96 10:32:41 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> > This is a beginner device driver question:
> > 	The kernel malloc returns physical memory (non swappable), right?
> 
> Yes, all memory used by the kernel is non-pageable, although changing
> this is on the wish-list.
> 
Well, actually, you can use kmem_alloc_pageable to get pageable kernel
memory.  You have to be careful to have process context when page faulting.

For a complete implementation of how to do kernel pageable memory, I
refer you to the sys_pipe.c in -current.  The pipe buffers are pageable.
Also, the arg list temporary space in kern_exec is also pageable.

You are absolutely right about the malloc() stuff being non-pageable
though.

Sorry that I have not responded sooner, I read my mail at work, file it
and am sometimes rude and forget it it :-(.  I apologize.

John




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