It is all rather similar to the proliferation of memory pools - for
things where 'malloc' would be fine.

The old-school kernel malloc was almost never "fine" ... but pools
have another advantage -- use of a direct-mapped segment on
architectures so-equipped. And for those not so-equipped, greatly
reduced pressure on kmem_map.

Now, if we could only get rid of kmem_map / kernel malloc completely
(which requires making it illegal to allocate memory in interrupt
context).