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