V1->V2:
- Allocator will determine how to acquire the objects. Remove
the flags that we exposed to the subsystems in V1.
- Restructure patch a bit to minimize size
- Add material provided by Jesper.
Attached a series of 3 patches to implement functionality to allocate
arrays of pointers to slab objects. This can be used by the slab
allocators to offer more optimized allocation and free paths.
Allocator performance issues were discovered by the network subsystem
developers when trying to get the kernel to send at line rate to
saturate a 40G link. Jesper developed special queueing methods
to compensate for the performance issues. See the following material:
LWN: Improving Linux networking performance
- http://lwn.net/Articles/629155/
- YouTube: https://www.youtube.com/watch?v=3XG9-X777Jo
LWN: Toward a more efficient slab allocator
- http://lwn.net/Articles/629152/
- YouTube: https://www.youtube.com/watch?v=s0lZzP1jOzI