full/empty terminology in _malloc.h
James Cook <[email protected]> Tue, 18 May 2021 23:19:48 +0000
| Newsgroups | gmane.os.dragonfly-bsd.kernel |
|---|---|
| Message-ID | <[email protected]> |
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