Skip site navigation (1)Skip section navigation (2)
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>