|
Message-ID: <f61beeff-c8e3-a088-07f6-1907ebf6b883@arm.com> Date: Mon, 4 Oct 2021 15:24:28 +0100 From: Jack Bond-Preston <jack.bond-preston@....com> To: musl@...ts.openwall.com Subject: Re: Mallocng algorithm high-level overview Thanks for the reply Rich, it has been a great help. I have a couple more specific questions, sorry: - Am I correct in saying IB represents the size (in bytes) of the in-band metadata between slots? - Is it assumed that sizeof(struct group) == sizeof(UNIT) throughout the code (the struct is defined such that this is true)? If the size of the in-band metadata were to increase (due to additional/larger metadata) such that UNIT < sizeof(struct group) (due to the size of the group struct needing to increase to accommodate the larger in-band metadata), I assume some code would have to be changed to instead use the size of the new group struct where appropriate (e.g. when allocating some new group). I noticed there are a lot of expressions containing x + UNIT/UNIT + x, are these generally to ensure allocations etc. include enough space for the contents of the group struct, or are there other reasons for these (e.g. some kind of 1-UNIT buffer between slots)? Cheers, Jack
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.