[dpdk-dev] [PATCH 37/41] net/enic: use contiguous allocation for DMA memory
John Daley (johndale)
johndale at cisco.com
Mon Mar 5 20:45:07 CET 2018
Hi Anatoly,
Looks good, see inline for details.
Acked-by: John Daley <johndale at cisco.com>
Thanks,
John
> -----Original Message-----
> From: Anatoly Burakov [mailto:anatoly.burakov at intel.com]
> Sent: Saturday, March 03, 2018 5:46 AM
> To: dev at dpdk.org
> Cc: John Daley (johndale) <johndale at cisco.com>; Hyong Youb Kim (hyonkim)
> <hyonkim at cisco.com>; keith.wiles at intel.com; jianfeng.tan at intel.com;
> andras.kovacs at ericsson.com; laszlo.vadkeri at ericsson.com;
> benjamin.walker at intel.com; bruce.richardson at intel.com;
> thomas at monjalon.net; konstantin.ananyev at intel.com;
> kuralamudhan.ramakrishnan at intel.com; louise.m.daly at intel.com;
> nelio.laranjeiro at 6wind.com; yskoh at mellanox.com; pepperjo at japf.ch;
> jerin.jacob at caviumnetworks.com; hemant.agrawal at nxp.com;
> olivier.matz at 6wind.com
> Subject: [PATCH 37/41] net/enic: use contiguous allocation for DMA memory
>
> Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
> ---
>
> Notes:
> It is not 100% clear that second call to memzone_reserve
> is allocating DMA memory. Corrections welcome.
The 2nd call is allocating DMA memory so I believe your patch is correct.
>
> drivers/net/enic/enic_main.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c index
> ec9d343..cb2a7ba 100644
> --- a/drivers/net/enic/enic_main.c
> +++ b/drivers/net/enic/enic_main.c
> @@ -319,7 +319,7 @@ enic_alloc_consistent(void *priv, size_t size,
> struct enic *enic = (struct enic *)priv;
> struct enic_memzone_entry *mze;
>
> - rz = rte_memzone_reserve_aligned((const char *)name,
> + rz = rte_memzone_reserve_aligned_contig((const char *)name,
> size, SOCKET_ID_ANY, 0,
> ENIC_ALIGN);
> if (!rz) {
> pr_err("%s : Failed to allocate memory requested for %s\n",
> @@ -787,7 +787,7 @@ int enic_alloc_wq(struct enic *enic, uint16_t queue_idx,
> "vnic_cqmsg-%s-%d-%d", enic->bdf_name, queue_idx,
> instance++);
>
> - wq->cqmsg_rz = rte_memzone_reserve_aligned((const char *)name,
> + wq->cqmsg_rz = rte_memzone_reserve_aligned_contig((const char
> *)name,
> sizeof(uint32_t),
> SOCKET_ID_ANY, 0,
> ENIC_ALIGN);
This is a send completion landing spot which is DMA'd to by the NIC so it does have to be contiguous. However the size is only 4 bytes so it might not matter.
> --
> 2.7.4
More information about the dev
mailing list