Messages in this thread |  | | Date | Tue, 13 Nov 2001 00:26:45 +0100 (CET) | From | Ingo Molnar <> | Subject | Re: [patch] arbitrary size memory allocator, memarea-2.4.15-D6 |
| |
On Mon, 12 Nov 2001, Jeff Garzik wrote:
> What's wrong with bigphysarea patch or bootmem? In the realm of frame > grabbers this is a known and solved problem...
bootmem is a limited boot-time only thing, eg. it does not work from modules. Nor is it generic enough to be eg. highmem-capable. It's not really a fully capable allocator, i wrote bootmem.c rather as a simple bootstap allocator, to be used to initialize the real allocator cleanly, and to be used in some criticial subsystems that initialize before the main allocator.
bigphysarea is a separate allocator, while alloc_memarea() shares the page pool with the buddy allocator.
> With bootmem you know that (for example) 100GB of physically > contiguous memory is likely to be available; and after boot, memory > get fragmented and the likelihood of alloc_memarea success decreases > drastically... just like bootmem.
the likelyhood of alloc_memarea() succeeding should be pretty good even on loaded systems, once the two improvements i mentioned (zap clean pagecache pages, reverse-flush & zap dirty pages) are added to it. Until then it's indeed most effective at boot-time and deteriorates afterwards, so it basically has bootmem's capabilities without most of the limitations of bootmem.
Ingo
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |