[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