Date: Mon, 09 Nov 1998 01:15:16 -0800 From: David Greenman <dg@root.com> To: Terry Lambert <tlambert@primenet.com> Cc: grog@lemis.com (Greg Lehey), Reinier.Bezuidenhout@KryptoKom.DE, freebsd-hackers@FreeBSD.ORG Subject: Re: Malloc in the kernel Message-ID: <199811090915.BAA09637@root.com> In-Reply-To: Your message of "Mon, 09 Nov 1998 04:22:11 GMT." <199811090422.VAA12381@usr07.primenet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>> >> If I want to malloc really large space in the kernel, say from >> >> 2k up to 1M or maybe more .... wat parameter should 'n >> >> give to malloc ?? > >[ ... ] > >> > It depends on what you intend to use the memory for. >> > >> > Ideally, you would be prepared to take a page fault, and would >> > allocate pageable memory backed by swap so that you didn't >> > exhaust the physical memory in the system. >> > >> > In general, the kernel is better at deciding what memory it needs >> > when it needs it than a kernel code author. You either trust >> > the locality of reference model upon which VM systems are based, >> > or you don't. >> >> Assuming that fits his needs, what's the answer? > >vm_pager_allocate(OBJT_SWAP, 0, OFF_TO_IDX(size), VM_PROT_DEFAULT, 0); Bzzt! Wrong! ...but you could use kmem_alloc_pageable() (or call vm_map_find() directly) to allocate demand-zero, pageable, kernel memory. -DG David Greenman Co-founder/Principal Architect, The FreeBSD Project 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?199811090915.BAA09637>