Recursive case in uma?

Evan Geller thespin at
Mon Jun 30 06:04:40 UTC 2008

Hey, I'm writing a small hobby operating system and I'm looking to the UMA
for inspiration. The part I don't understand is the recursive case in
uma_zone_slab(). I'm curious where the memory for vm_map_entries actually
come from if the slabs are all full. It would appear that the null returned
by uma_zone_slab() just carries all the way up and there's a fixed upper
limit of vm_map_entries... or that I don't understand the way the uma works.
Would someone mind clearing this up for me?

Thanks a ton for the help!

More information about the freebsd-hackers mailing list