On Tue, May 09, 2023 at 02:16:39PM +0000, Gilbert Carrillo wrote:
> 
> 
> -----Original Message-----
> From: Bruce Richardson <bruce.richard...@intel.com> 
> Sent: Tuesday, May 9, 2023 3:43 AM
> To: Gilbert Carrillo <gcarri...@ampex.com>
> Cc: dev@dpdk.org
> Subject: Re: DPDK 22.11 Troubleshooting
> 
> On Mon, May 08, 2023 at 11:26:59PM +0000, Gilbert Carrillo wrote:
> > 
> > 
> > -----Original Message-----
> > From: Bruce Richardson <bruce.richard...@intel.com>
> > Sent: Wednesday, May 3, 2023 11:18 AM
> > To: Gilbert Carrillo <gcarri...@ampex.com>
> > Cc: dev@dpdk.org
> > Subject: Re: DPDK 22.11 Troubleshooting
> > 
> > On Wed, May 03, 2023 at 04:53:20PM +0000, Gilbert Carrillo wrote:
> > > Make static returns an error (see attached).
> > > 
> > > v/R,
> > > Gilbert
> > >
> > 
> > To help investigate this issue, can you perhaps include the text of the 
> > full build output when you run "make static". On my system I see libelf 
> > listed on the linker flags when I run "make static", and things link 
> > properly. I'm wondering how my setup may differ from yours.
> > 
> > /Bruce
> >  
> > > -----Original Message-----
> > > From: Bruce Richardson <bruce.richard...@intel.com>
> > > Sent: Wednesday, May 3, 2023 10:35 AM
> > > To: Gilbert Carrillo <gcarri...@ampex.com>
> > > Cc: dev@dpdk.org
> > > Subject: Re: DPDK 22.11 Troubleshooting
> > > 
> > > On Wed, May 03, 2023 at 04:22:05PM +0000, Gilbert Carrillo wrote:
> > > > Hi Bruce,
> > > > 
> > > > Thank you for the response.
> > > > 
> > > > There is no errors when I run the makefile, however I do see a 
> > > > difference in the programs. I don't believe the makefile is linking all 
> > > > the libraries together as intended.
> > > > 
> > > > For example, when I run the ethtool sample program and compile it using 
> > > > meson, it works fine and rte_eth_dev_count_avail() returns the correct 
> > > > amount. However, when I compile ethtool with the makefile and run it 
> > > > rte_eth_dev_count_avail() returns 0.
> > > > 
> > > 
> > > Note that by default the meson build will statically link the examples, 
> > > while the makefile will dynamically load the drivers at runtime. That may 
> > > explain the difference. Can you try building and running using "make 
> > > static" rather than just "make".
> > > 
> > > /Bruce
> > 
> > Bruce,
> > 
> > I had multiple versions of DPDK installed and I was linking the wrong one. 
> > I was able to compile my application with CMAKE successfully.
> > 
> > I had one last quick question. I am trying to achieve zero copy DMA from my 
> > FPGA to my external buffer. Is this possible? I saw methods such as 
> > attaching an mbuf to the external buffer? But I wasn't sure if this was 
> > truly zero copy.
> > 
> Attaching an mbuf to an external buffer would not involve any copy of the 
> data itself, so should be zero-copy. Each mbuf header contains a buffer 
> pointer, which normally points just to the end of the header structure, but 
> which can point to any other location in memory.
> 
> /Bruce
> 
> 
> Thank you, Bruce. Is attaching an mbuf to my external buffer the only way to 
> achieve this zero copy DMA? I also read that there is a function 
> rte_pktmbuf_read() that can read the data from my FPGA directly to my 
> external buffer, but I don't think this method is zero copy since it requires 
> the CPU to copy the data. 
> 
Can you set up your FPGA to DMA directly to a DPDK buffer? This is the
method used by all DPDK devices: NICS, crypto accelerators, DMA
accelerators, etc.

/Bruce

Reply via email to