David,
Do you need a guarantee against blocking or disabling interrupts, or do
you just need very fast allocation? I could propose a very simple front
end with a typical allocation time of 2 xchg instructions (+ one pointer
dereference), a worst case same as current slab, and no need for
per-engine queues.
I'm not sure what all the issues here are, but agree with Mark that we
should put the effort into one highly optimized well-tested allocator.
Regards,
Bill