From: "Loftus, Ciara" <ciara.loftus@intel.com> To: "Yigit, Ferruh" <ferruh.yigit@intel.com>, "Zhang, Qi Z" <qi.z.zhang@intel.com> Cc: "dev@dpdk.org" <dev@dpdk.org>, "stable@dpdk.org" <stable@dpdk.org> Subject: Re: [dpdk-dev] [PATCH] net/af_xdp: do not use fixed size storage for pointer Date: Mon, 9 Nov 2020 18:00:54 +0000 Message-ID: <14e704b269f94f3ea8b52cdfbf3f3d4c@intel.com> (raw) In-Reply-To: <20201109133005.67035-1-ferruh.yigit@intel.com> > > 'uint64_t' is used to hold the pointer, for 32-bits build this > assumption is wrong and giving following build error: > > rte_eth_af_xdp.c: In function ‘xdp_umem_configure’: > rte_eth_af_xdp.c:970:15: > error: cast to pointer from integer of different size > [-Werror=int-to-pointer-cast] > 970 | base_addr = (void *)get_base_addr(mb_pool, &align); > | ^ > > Replacing the 'uint64_t' return type of the 'get_base_addr()' to the > 'uintptr_t'. > Although not sure if the overall logic supports the 32-bits, using > 'uintptr_t' should be safe both for 64/32 bits. > > Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks") > Cc: stable@dpdk.org > > Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> > > --- > > Hi Ciara, > > I am not sure if 32-bit is supported for the af_xdp, but even not does > this change make sense for the 64-bits? Hi Ferruh, LGTM. I've tested it for 64bit and all looks good to me. Tested-by: Ciara Loftus <ciara.loftus@intel.com> I've been looking into 32-bit compatibility and will submit a patch for at least the docs when I've verified what works. Thanks, Ciara > --- > drivers/net/af_xdp/rte_eth_af_xdp.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c > b/drivers/net/af_xdp/rte_eth_af_xdp.c > index 4076ff797c..2c7892bd7e 100644 > --- a/drivers/net/af_xdp/rte_eth_af_xdp.c > +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c > @@ -910,13 +910,13 @@ eth_link_update(struct rte_eth_dev *dev > __rte_unused, > } > > #if defined(XDP_UMEM_UNALIGNED_CHUNK_FLAG) > -static inline uint64_t get_base_addr(struct rte_mempool *mp, uint64_t > *align) > +static inline uintptr_t get_base_addr(struct rte_mempool *mp, uint64_t > *align) > { > struct rte_mempool_memhdr *memhdr; > - uint64_t memhdr_addr, aligned_addr; > + uintptr_t memhdr_addr, aligned_addr; > > memhdr = STAILQ_FIRST(&mp->mem_list); > - memhdr_addr = (uint64_t)memhdr->addr; > + memhdr_addr = (uintptr_t)memhdr->addr; > aligned_addr = memhdr_addr & ~(getpagesize() - 1); > *align = memhdr_addr - aligned_addr; > > -- > 2.26.2
next prev parent reply other threads:[~2020-11-09 18:01 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-11-09 13:30 Ferruh Yigit 2020-11-09 18:00 ` Loftus, Ciara [this message] 2020-11-11 13:25 ` Ferruh Yigit
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=14e704b269f94f3ea8b52cdfbf3f3d4c@intel.com \ --to=ciara.loftus@intel.com \ --cc=dev@dpdk.org \ --cc=ferruh.yigit@intel.com \ --cc=qi.z.zhang@intel.com \ --cc=stable@dpdk.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
DPDK patches and discussions This inbox may be cloned and mirrored by anyone: git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \ dev@dpdk.org public-inbox-index dev Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git