To whom it may be of concern, I just got my thoughts around the different memory allocators in the NetBSDs kernel. It seems to me that there is quite a lot of duplication and some clean up would be needed. I think it would be nice to get rid of the old malloc. the kmem/vmem could be used in such a case but this brings me to another point, the vmem is designed to slice integer spaces eg addresses or whatever, therefor it would be suited to slice the kernels virtual address space like in solaris but this is only the case for the kmem not for the pool memory and furthermore the allocation of virtual address space for kemm/vmem is backed by the uvm_kern/uvm_map system as well, seems like some duplication to me. Either a solution which uses the vmem to slice the kernel space and not using the uvm_kern/uvm_map stuff for that or backing the pool/kmem with the uvm_kern/uvm_map system would be feasible. I do prefer the later solution as getting the recursion in vmem right is quite hard and to use vmem as a replacement for extend.
Just some thoughts. Kind regards, Lars ---- Mystische Erklärungen: Die mystischen Erklärungen gelten für tief; die Wahrheit ist, dass sie noch nicht einmal oberflächlich sind. -- Friedrich Nietzsche [ Die Fröhliche Wissenschaft Buch 3, 126 ]
