The improvement was removed in 40129,
causing 5-40% regressions in AVF tests.
There is a memory-speed trade-off,
this change prefers speed over memory efficiency.
Ideally, the choice should be configurable,
but that is not easy to achieve, considering
how early is vlib_buffer_main_init called.
Type: fix
Fixes:
038dad7ef29b0b724071edb5f8cc7a9845584454
Change-Id: I4746f3634abe6d233c9d092a372de05b3d1ae4b6
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
(cherry picked from commit
04fd51c03c428859bae949a8294ee0f9c062a44b)
uword alloc_size = ext_hdr_size + sizeof (vlib_buffer_t) + data_size;
alloc_size = round_pow2 (alloc_size, VLIB_BUFFER_ALIGN);
+ /* in case when we have even number of 'cachelines', we add one more for
+ * better cache occupancy */
+ alloc_size |= VLIB_BUFFER_ALIGN;
+
return alloc_size;
}