full/empty terminology in _malloc.h
James Cook
falsifian at falsifian.org
Tue May 18 16:19:48 PDT 2021
I'm confused about the meaning of "full" vs. "empty" slabs in
sys/sys/_malloc.h.
- The "full" field of kmalloc_mgt has fully free slabs.
- The "empty" field of kmalloc_mgt is for slabs with nothing free
(though slots might open up later).
But then the comment above kmalloc_mgt seems to use the opposite sense:
- "we want to allocate from the most-full magazine to best reduce
fragmentation"
That makes more sense (and matches whot _kmalloc_obj actually does) if
"full" means a slab has no more slots free.
And similarly:
- "The curmag list ... is loosely sorted ... the least-full magazine at
the tail".
It looks like malloc_mgt_poll_empty_locked tries to keep the magazines
with the fewest empty slots toward the tail of ggm->empty. (I don't see
anything called curmag).
Are those opposite meanings or am I just confused?
(FWIW, I'd usually assume "full" means "no space available".)
--
James
More information about the Kernel
mailing list