20:52:07fittestbits__That's sort of what I implemented - when I create a buffer pool, I give it a set of block sizes. Then when I allocate a buffer a look for the smallest block size that's large enough to fit the buffer.
20:54:15fittestbits__I used sizes: 16 32 128 1024 and 4096 for USB 1 and 32 128 1024 and 4096 for USB 2.
21:06:22froggeydoesn't quite match up with what I was thinking. each pool would have been for a single size, and code would have to know the appropriate pool to free to