Page Lists
The chunk, bnode, and broot structures are of a common size: 256 bytes on narrow systems or 512 bytes for wide systems. As a region is initialized, the total number of pages it will map (or at least the number it will start with) is used to calculate the depth of its b-tree. Once this is known, space for the chunks, bnodes, and the broot will need to be allocated. As we noted, all three structures are sized the same. This allows room for a 29th-order bnode. Each chunk will hold either 32 or 64 vfd|dbd structure pairs, depending on the architecture.
These uniformly sized structures may be conveniently packed into whole memory pages. Once the total space requirements are determined, the kernel allocates enough pages to hold them (see ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access