Date: Thu, 24 Dec 1998 09:21:01 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: "John S. Dyson" <dyson@iquest.net> Cc: hackers@FreeBSD.ORG Subject: Re: M_KERNEL in sys/malloc.h ??? Message-ID: <199812241721.JAA27982@apollo.backplane.com>
next in thread | raw e-mail | index | archive | help
:Matthew Dillon said:
:> Does anyone know what M_KERNEL is sys/malloc.h is supposed to do? It
:> is used in precisely two places in the code as far as I can tell:
:>
:> vm/default_pager.c: if (swap_pager_swp_alloc(object, M_KERNEL) != 0) {
:> vm/default_pager.c: if (swap_pager_swp_alloc(object, M_KERNEL) != 0) {
:> vm/swap_pager.c: spc->spc_bp = malloc(sizeof(*bp), M_TEMP, M_KERNEL);
:>
:> But kern/kern_malloc.c doesn't appear to really use it. On the otherhand
:> I do see lots of absolute comparison of the malloc 'flags' to M_WAITOK
:> (0) or M_NOWAIT which the use of M_KERNEL would interfere with. I can't
:> tell if the side effects are something that are expected, or if the
:> side effects are a bug.
:>
:> Anybody know?
:>
:As I remember, M_KERNEL means that it really needs memory. waiting
:for memory is bad, and dip deeply into the page reserves. Normally, the
:malloc (in vm_kern) code will only dip into the interrupt accessible
:free pages. The M_KERNEL allows it to dip into all of the pages.
Ok, I'll document it then and make sure it operates the same with my
cleanups.
-Matt
:John | Never try to teach a pig to sing,
:dyson@iquest.net | it makes one look stupid
Matthew Dillon Engineering, HiWay Technologies, Inc. & BEST Internet
Communications & God knows what else.
<dillon@backplane.com> (Please include original email in any response)
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199812241721.JAA27982>
