<div dir="ltr"><div>Hi,</div><div><br></div><div>What does the three patterns signify under each one of the allocation type (unallocated(dirty/clean), small, large)  in "arena_chunk_map_bits_s"</div><div><br></div><div>I understand the allocation types (unallocated, small, large),  but I am not sure why there are three different patters under each allocation type.</div><div><br></div><div>For example under Unallocated (clean), we have following bit patterns: </div><div>     <b>Unallocated (clean):</b></div><div>     *     ssssssss ssssssss sss+++++ +++dum-a         - pattern1</div><div>     *     xxxxxxxx xxxxxxxx xxxxxxxx xxx-Uxxx             - pattern2</div><div>     *     ssssssss ssssssss sss+++++ +++dUm-a         - pattern3</div><div> </div><div>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. </div><div><br></div><div>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.</div><div><br></div><div>Thanks</div><div>Yasaswini</div><div><br></div></div>