Hi, Change from V2:
1. Splited into two patches. One deal with the disk cache problem. The other is focused on improvement. 2. Add types to regions. So small and large allocations are effectively seperated into different heaps. This facility can also seperate module segments and plain data chunks. 3. Region management costs are now denoted by GRUB_MM_MAX_COST, seperated from GRUB_MM_GROW_SMALL ( =GRUB_MM_HEAP_GROW in previous patch). Some notes for the size of heap growth: In order to guarantee the success of allocation when heap exhausted, the new region size should be at least (size + align + GRUB_MM_MAX_COST). For small chunks, it's adjusted to (GRUB_MM_GROW_SMALL + GRUB_MM_MAX_COST) to improve performance. Best Regards, Zhang Boyang _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel