Interpretation of bit patters in arena_chunk_map_bits_s

Yasaswini G yasaswinig7 at
Tue Mar 8 11:33:40 PST 2016


What does the three patterns signify under each one of the allocation type
(unallocated(dirty/clean), small, large)  in "arena_chunk_map_bits_s"

I understand the allocation types (unallocated, small, large),  but I am
not sure why there are three different patters under each allocation type.

For example under Unallocated (clean), we have following bit patterns:
     *Unallocated (clean):*
     *     ssssssss ssssssss sss+++++ +++dum-a         - pattern1
     *     xxxxxxxx xxxxxxxx xxxxxxxx xxx-Uxxx             - pattern2
     *     ssssssss ssssssss sss+++++ +++dUm-a         - pattern3

According to pattern2, if bit3 is set (U) then remaining bits are don't
care, but according to pattern3, when bit3 is set (U), bit 13 - bit 31
(s....s) is still valid as run_size.

The comments inside struct are elaborate, but I am still confused. May be I
am missing something. I am trying to understand the logical interpretation
of each one of those patterns!  Appreciate, if someone could explain with
an example/direct me to a reference point.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the jemalloc-discuss mailing list