Slab Allocator ============== If a program requires many objects of the same type, which are created and destroyed often, then it can be better to not use a general purpose allocation strategy like malloc(), but a special arena (or other backing memory) and a special purpose allocator that can take advantage of the fact that all objects are of the same size. In addition, such objects usually have an initial stage that they naturally return to when the objects are no longer needed. For example locks are unlocked, reference counters are zero, etc. In such a situation, performance can be further increased by caching the unused objects, instead of destroying them. The following article gives more information about such caching object allocators: http://citeseer.ist.psu.edu/bonwick94slab.html The current implementation in libhurd-slab was written by Johan Rydberg, . Copyright 2003 Free Software Foundation, Inc. Written by Marcus Brinkmann This file is free software; as a special exception the author gives unlimited permission to copy and/or distribute it, with or without modifications, as long as this notice is preserved. This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY, to the extent permitted by law; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.