[dpdk-dev] [PATCH v1 09/29] mem: add iovec-like allocation wrappers

Ferruh Yigit ferruh.yigit at intel.com
Thu Oct 12 00:00:00 CEST 2017


On 10/11/2017 10:58 PM, Ferruh Yigit wrote:
> On 10/11/2017 3:35 PM, Adrien Mazarguil wrote:
>> These wrappers implement the ability to allocate room for several disparate
>> objects as a single contiguous allocation while complying with their
>> respective alignment constraints.
>>
>> This is usually more efficient than allocating and freeing them
>> individually if they are not expected to be reallocated with rte_realloc().
>>
>> A typical use case is when several objects that cannot be dissociated must
>> be allocated together, as shown in the following example:
>>
>>  struct b {
>>     ...
>>     struct d *d;
>>  }
>>
>>  struct a {
>>      ...
>>      struct b *b;
>>      struct c *c;
>>  }
>>
>>  struct rte_malloc_vec vec[] = {
>>      { .size = sizeof(struct a), .addr = &ptr_a, }
>>      { .size = sizeof(struct b), .addr = &ptr_b, },
>>      { .size = sizeof(struct c), .addr = &ptr_c, },
>>      { .size = sizeof(struct d), .addr = &ptr_d, },
>>  };
>>
>>  if (!rte_mallocv(NULL, vec, RTE_DIM(vec)))
>>      goto error;
>>
>>  struct a *a = ptr_a;
>>
>>  a->b = ptr_b;
>>  a->c = ptr_c;
>>  a->b->d = ptr_d;
>>  ...
>>  rte_free(a);
>>
>> Signed-off-by: Adrien Mazarguil <adrien.mazarguil at 6wind.com>
>> Acked-by: Nelio Laranjeiro <nelio.laranjeiro at 6wind.com>
> 
> Hi Adrien,
> 
> Why there is an eal patch in the middle of the mlx4 patchset?
> 
> I believe this shouldn't go in via next-net tree, and should be reviewed
> properly.
> 
> I am behaving more flexible for PMD patches about the process and
> timing, because their scope is limited.
> PMD patches can break at most the PMD itself and if the maintainer is
> sending the patch, they should be knowing what they are doing, so vendor
> gets the responsibility for their own driver. I am paying majority of
> care to be sure it doesn't break others.
> 
> But ethdev and eal way beyond those flexibility, because their scope is
> much larger.
> 
> Can you please extract this patch from the patchset?

cc'ed Thomas.



More information about the dev mailing list