pointer to 32K. This is the size of cache element which is the most
common allocation >1K. This way the pointer is always around blocks
of 32K and so we keep performance while decreasing fragmentation.
+2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
+ pointer to 32K. This is the size of cache element which is the most
+ common allocation >1K. This way the pointer is always around blocks
+ of 32K and so we keep performance while decreasing fragmentation.
+
2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
This will have side effect of fragmenting memory as small
pieces before this will be un-used. */
/* So do it only for chunks under 64K. */
- if (n < (0x10000 >> GRUB_MM_ALIGN_LOG2)
+ if (n < (0x8000 >> GRUB_MM_ALIGN_LOG2)
|| *first == p)
*first = q;