[dpdk-dev] [PATCH v3 0/2] malloc: fix malloc and free linear complexity
Thomas Monjalon
thomas.monjalon at 6wind.com
Thu Jun 26 14:37:43 CEST 2014
> From: Robert Sanford
> > Comments on previous versions of this patch:
> > http://dpdk.org/ml/archives/dev/2014-May/002297.html
> > http://dpdk.org/ml/archives/dev/2014-June/003518.html
> >
> > Additional changes from original to v3:
> > * Reduce the minimum-sized block that we put on a free list when
> >
> > splitting a larger block, from 192 to 64. Although memory is
> > plentiful, why waste 64 and 128-byte (plus overhead) blocks?
> >
> > -#define MIN_DATA_SIZE (CACHE_LINE_SIZE * 2)
> > +#define MIN_DATA_SIZE (CACHE_LINE_SIZE)
> >
> > - if (old_elem_size <= MALLOC_ELEM_OVERHEAD + MIN_DATA_SIZE){
> > + if (old_elem_size < MALLOC_ELEM_OVERHEAD + MIN_DATA_SIZE){
> >
> > - if (elem->size - new_size > MIN_DATA_SIZE +
> > MALLOC_ELEM_OVERHEAD){
> > + if (elem->size - new_size >= MIN_DATA_SIZE +
> > MALLOC_ELEM_OVERHEAD){
> >
> > Changes from v2 to v3:
> > * Change the size ranges of the five free lists per heap. The first
> >
> > list will effectively contain blocks of size [64,256].
>
> Acked-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>
Applied for version 1.7.0.
Thanks for this brave rework.
--
Thomas
More information about the dev
mailing list