* Using IOAT PMD @ 2021-12-16 16:04 Lance Richardson 2021-12-16 16:20 ` Bruce Richardson 0 siblings, 1 reply; 5+ messages in thread From: Lance Richardson @ 2021-12-16 16:04 UTC (permalink / raw) To: dev, Bruce Richardson Hi Bruce, I've been looking into using the IOAT PMD, initially with dma_autotest and the dpdk-dma example application. These seem to work fine on SKX with the current main branch, but when I try the same procedure on ICX (binding all 8 devices to vfio-pci in both cases), I get the following output for each device when probed. Is something different needed when using IOAT on ICX vs. SKX? Thanks, Lance EAL: Probe PCI driver: dmadev_ioat (8086:b00) device: 0000:80:01.0 (socket 2) IOAT: ioat_dmadev_probe(): Init 0000:80:01.0 on NUMA node 2 IOAT: ioat_dmadev_create(): ioat_dmadev_create: Channel count == 255 IOAT: ioat_dmadev_create(): ioat_dmadev_create: Channel appears locked IOAT: ioat_dmadev_create(): ioat_dmadev_create: cannot reset device. CHANCMD=0xff, CHANSTS=0xffffffffffffffff, CHANERR=0xffffffff EAL: Releasing PCI mapped resource for 0000:80:01.0 EAL: Calling pci_unmap_resource for 0000:80:01.0 at 0x4102430000 EAL: Requested device 0000:80:01.0 cannot be used ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Using IOAT PMD 2021-12-16 16:04 Using IOAT PMD Lance Richardson @ 2021-12-16 16:20 ` Bruce Richardson 2021-12-16 16:34 ` Lance Richardson 0 siblings, 1 reply; 5+ messages in thread From: Bruce Richardson @ 2021-12-16 16:20 UTC (permalink / raw) To: Lance Richardson; +Cc: dev, conor.walsh, kevin.laatz On Thu, Dec 16, 2021 at 11:04:54AM -0500, Lance Richardson wrote: > Hi Bruce, > > I've been looking into using the IOAT PMD, initially with dma_autotest > and the dpdk-dma example application. These seem to work fine on > SKX with the current main branch, but when I try the same procedure > on ICX (binding all 8 devices to vfio-pci in both cases), I get the following > output for each device when probed. Is something different needed when > using IOAT on ICX vs. SKX? > > Thanks, > Lance > > EAL: Probe PCI driver: dmadev_ioat (8086:b00) device: 0000:80:01.0 (socket 2) > IOAT: ioat_dmadev_probe(): Init 0000:80:01.0 on NUMA node 2 > IOAT: ioat_dmadev_create(): ioat_dmadev_create: Channel count == 255 > > IOAT: ioat_dmadev_create(): ioat_dmadev_create: Channel appears locked > > IOAT: ioat_dmadev_create(): ioat_dmadev_create: cannot reset device. > CHANCMD=0xff, CHANSTS=0xffffffffffffffff, CHANERR=0xffffffff > > EAL: Releasing PCI mapped resource for 0000:80:01.0 > EAL: Calling pci_unmap_resource for 0000:80:01.0 at 0x4102430000 > EAL: Requested device 0000:80:01.0 cannot be used That is strange, the same PMD should work ok on both platforms. This is all on latest branch, right? Let me attempt to reproduce and get back to you. /Bruce PS: Is this a 4-socket system you are running on, since I see "socket 2" being described as the socket number for device 80:01.0? ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Using IOAT PMD 2021-12-16 16:20 ` Bruce Richardson @ 2021-12-16 16:34 ` Lance Richardson 2021-12-16 17:33 ` Bruce Richardson 0 siblings, 1 reply; 5+ messages in thread From: Lance Richardson @ 2021-12-16 16:34 UTC (permalink / raw) To: Bruce Richardson; +Cc: dev, conor.walsh, kevin.laatz On Thu, Dec 16, 2021 at 11:20 AM Bruce Richardson <bruce.richardson@intel.com> wrote: > > On Thu, Dec 16, 2021 at 11:04:54AM -0500, Lance Richardson wrote: > > Hi Bruce, > > > > I've been looking into using the IOAT PMD, initially with dma_autotest > > and the dpdk-dma example application. These seem to work fine on > > SKX with the current main branch, but when I try the same procedure > > on ICX (binding all 8 devices to vfio-pci in both cases), I get the following > > output for each device when probed. Is something different needed when > > using IOAT on ICX vs. SKX? > > > > Thanks, > > Lance > > > > EAL: Probe PCI driver: dmadev_ioat (8086:b00) device: 0000:80:01.0 (socket 2) > > IOAT: ioat_dmadev_probe(): Init 0000:80:01.0 on NUMA node 2 > > IOAT: ioat_dmadev_create(): ioat_dmadev_create: Channel count == 255 > > > > IOAT: ioat_dmadev_create(): ioat_dmadev_create: Channel appears locked > > > > IOAT: ioat_dmadev_create(): ioat_dmadev_create: cannot reset device. > > CHANCMD=0xff, CHANSTS=0xffffffffffffffff, CHANERR=0xffffffff > > > > EAL: Releasing PCI mapped resource for 0000:80:01.0 > > EAL: Calling pci_unmap_resource for 0000:80:01.0 at 0x4102430000 > > EAL: Requested device 0000:80:01.0 cannot be used > > That is strange, the same PMD should work ok on both platforms. This is all > on latest branch, right? Let me attempt to reproduce and get back to you. Hi Bruce, That's correct, I'm using the current tip of the main branch, which seems to be identical to 21.11.0. > > /Bruce > > PS: Is this a 4-socket system you are running on, since I see "socket 2" > being described as the socket number for device 80:01.0? > It is a two-socket system with sub-NUMA enabled, so it appears as four NUMA nodes. I'm only binding the devices on the second socket. Thanks, Lance ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Using IOAT PMD 2021-12-16 16:34 ` Lance Richardson @ 2021-12-16 17:33 ` Bruce Richardson 2021-12-16 19:08 ` Lance Richardson 0 siblings, 1 reply; 5+ messages in thread From: Bruce Richardson @ 2021-12-16 17:33 UTC (permalink / raw) To: Lance Richardson; +Cc: dev, conor.walsh, kevin.laatz On Thu, Dec 16, 2021 at 11:34:25AM -0500, Lance Richardson wrote: > On Thu, Dec 16, 2021 at 11:20 AM Bruce Richardson > <bruce.richardson@intel.com> wrote: > > > > On Thu, Dec 16, 2021 at 11:04:54AM -0500, Lance Richardson wrote: > > > Hi Bruce, > > > > > > I've been looking into using the IOAT PMD, initially with dma_autotest > > > and the dpdk-dma example application. These seem to work fine on > > > SKX with the current main branch, but when I try the same procedure > > > on ICX (binding all 8 devices to vfio-pci in both cases), I get the following > > > output for each device when probed. Is something different needed when > > > using IOAT on ICX vs. SKX? > > > > > > Thanks, > > > Lance > > > > > > EAL: Probe PCI driver: dmadev_ioat (8086:b00) device: 0000:80:01.0 (socket 2) > > > IOAT: ioat_dmadev_probe(): Init 0000:80:01.0 on NUMA node 2 > > > IOAT: ioat_dmadev_create(): ioat_dmadev_create: Channel count == 255 > > > > > > IOAT: ioat_dmadev_create(): ioat_dmadev_create: Channel appears locked > > > > > > IOAT: ioat_dmadev_create(): ioat_dmadev_create: cannot reset device. > > > CHANCMD=0xff, CHANSTS=0xffffffffffffffff, CHANERR=0xffffffff > > > > > > EAL: Releasing PCI mapped resource for 0000:80:01.0 > > > EAL: Calling pci_unmap_resource for 0000:80:01.0 at 0x4102430000 > > > EAL: Requested device 0000:80:01.0 cannot be used > > > > That is strange, the same PMD should work ok on both platforms. This is all > > on latest branch, right? Let me attempt to reproduce and get back to you. > > Hi Bruce, > > That's correct, I'm using the current tip of the main branch, which > seems to be identical to 21.11.0. > > > > /Bruce > > > > PS: Is this a 4-socket system you are running on, since I see "socket 2" > > being described as the socket number for device 80:01.0? > > > It is a two-socket system with sub-NUMA enabled, so it appears as four > NUMA nodes. I'm only binding the devices on the second socket. > Ok, [not that that should affect anything to do with ioat, AFAIK] Tried quickly reproducing the issue on some of our systems and failed to do so. Does this error appear consistently, especially after a reboot? Thanks, /Bruce ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Using IOAT PMD 2021-12-16 17:33 ` Bruce Richardson @ 2021-12-16 19:08 ` Lance Richardson 0 siblings, 0 replies; 5+ messages in thread From: Lance Richardson @ 2021-12-16 19:08 UTC (permalink / raw) To: Bruce Richardson; +Cc: dev, conor.walsh, kevin.laatz On Thu, Dec 16, 2021 at 12:33 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > On Thu, Dec 16, 2021 at 11:34:25AM -0500, Lance Richardson wrote: > > On Thu, Dec 16, 2021 at 11:20 AM Bruce Richardson > > <bruce.richardson@intel.com> wrote: > > > > > > On Thu, Dec 16, 2021 at 11:04:54AM -0500, Lance Richardson wrote: > > > > Hi Bruce, > > > > > > > > I've been looking into using the IOAT PMD, initially with dma_autotest > > > > and the dpdk-dma example application. These seem to work fine on > > > > SKX with the current main branch, but when I try the same procedure > > > > on ICX (binding all 8 devices to vfio-pci in both cases), I get the following > > > > output for each device when probed. Is something different needed when > > > > using IOAT on ICX vs. SKX? > > > > > > > > Thanks, > > > > Lance > > > > > > > > EAL: Probe PCI driver: dmadev_ioat (8086:b00) device: 0000:80:01.0 (socket 2) > > > > IOAT: ioat_dmadev_probe(): Init 0000:80:01.0 on NUMA node 2 > > > > IOAT: ioat_dmadev_create(): ioat_dmadev_create: Channel count == 255 > > > > > > > > IOAT: ioat_dmadev_create(): ioat_dmadev_create: Channel appears locked > > > > > > > > IOAT: ioat_dmadev_create(): ioat_dmadev_create: cannot reset device. > > > > CHANCMD=0xff, CHANSTS=0xffffffffffffffff, CHANERR=0xffffffff > > > > > > > > EAL: Releasing PCI mapped resource for 0000:80:01.0 > > > > EAL: Calling pci_unmap_resource for 0000:80:01.0 at 0x4102430000 > > > > EAL: Requested device 0000:80:01.0 cannot be used > > > > > > That is strange, the same PMD should work ok on both platforms. This is all > > > on latest branch, right? Let me attempt to reproduce and get back to you. > > > > Hi Bruce, > > > > That's correct, I'm using the current tip of the main branch, which > > seems to be identical to 21.11.0. > > > > > > /Bruce > > > > > > PS: Is this a 4-socket system you are running on, since I see "socket 2" > > > being described as the socket number for device 80:01.0? > > > > > It is a two-socket system with sub-NUMA enabled, so it appears as four > > NUMA nodes. I'm only binding the devices on the second socket. > > > > Ok, [not that that should affect anything to do with ioat, AFAIK] > > Tried quickly reproducing the issue on some of our systems and failed to do > so. Does this error appear consistently, especially after a reboot? > > Thanks, > /Bruce It fails consistently after every warm reboot or power cycle. The kernel ioatdma driver always loads successfully at boot time for both sockets, but it also fails once I have bound the devices to vfio-pci and attempted to run examples/dpdk-dma. The kernel log messages are similar, both seem to read all-ones values. However, I have found that it works when binding to igb_uio instead of vfio, so maybe that's some kind of clue (vfio does work for the NIC ports). I'll continue to experiment with igb_uio, but I'm happy to gather any debug info for the vfio case if that would help. Thanks, Lance ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-12-16 19:09 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-12-16 16:04 Using IOAT PMD Lance Richardson 2021-12-16 16:20 ` Bruce Richardson 2021-12-16 16:34 ` Lance Richardson 2021-12-16 17:33 ` Bruce Richardson 2021-12-16 19:08 ` Lance Richardson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).