Title | {VM,Client}ArenaReserved iterates over the chunks |
Status | closed |
Priority | nice |
Assigned user | Gareth Rees |
Organization | Ravenbrook |
Description | VMArenaReserved and ClientArenaReserved iterate over all the chunks in order to calculate the total reserved address space. Profiling shows that when there are many chunks and the arena runs out of zones, this happens on many (most?) calls to ArenaAlloc. |
Analysis | Accumulate the total reserved size instead. |
How found | manual_test |
Evidence | None. |
Created by | Gareth Rees |
Created on | 2014-05-20 12:39:32 |
Last modified by | Gareth Rees |
Last modified on | 2014-10-13 23:36:08 |
History | 2014-05-20 GDR Created. |
Change | Effect | Date | User | Description |
---|---|---|---|---|
187089 | closed | 2014-09-29 22:50:46 | Gareth Rees | Instead of iterating over the chunks to compute the total reserved address space, maintain a running total in ArenaChunkInsert and (new function) ArenaChunkRemoved. New arena class method chunkReserved handles the class-specific computation of the reserved size of a chunk. |