* Request to map PCI device in a secondary that uses the --block for that device @ 2024-05-22 6:46 Antonio Di Bacco 2024-05-22 7:21 ` Dmitry Kozlyuk 0 siblings, 1 reply; 5+ messages in thread From: Antonio Di Bacco @ 2024-05-22 6:46 UTC (permalink / raw) To: users Is it correct that a primary requests a secondary to map a device that the secondary explicitly blocks with the --block arg ? IN my case this requests of mapping creates a crash in the secondary. Using DPDK 21.11 Best regards, Antonio. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Request to map PCI device in a secondary that uses the --block for that device 2024-05-22 6:46 Request to map PCI device in a secondary that uses the --block for that device Antonio Di Bacco @ 2024-05-22 7:21 ` Dmitry Kozlyuk 2024-05-22 8:06 ` Antonio Di Bacco 0 siblings, 1 reply; 5+ messages in thread From: Dmitry Kozlyuk @ 2024-05-22 7:21 UTC (permalink / raw) To: Antonio Di Bacco; +Cc: users 2024-05-22 08:46 (UTC+0200), Antonio Di Bacco: > Is it correct that a primary requests a secondary to map a device that > the secondary explicitly blocks with the --block arg ? > > IN my case this requests of mapping creates a crash in the secondary. > > Using DPDK 21.11 > > Best regards, > Antonio. Hi Antonio, "Secondary processes which requires access to physical devices in Primary process, must be passed with the same allow and block options." https://doc.dpdk.org/guides/prog_guide/multi_proc_support.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Request to map PCI device in a secondary that uses the --block for that device 2024-05-22 7:21 ` Dmitry Kozlyuk @ 2024-05-22 8:06 ` Antonio Di Bacco 2024-05-22 17:03 ` Antonio Di Bacco 0 siblings, 1 reply; 5+ messages in thread From: Antonio Di Bacco @ 2024-05-22 8:06 UTC (permalink / raw) To: Dmitry Kozlyuk; +Cc: users Thank you. In my case, I have the same block/allow but the primary does an explicit probe of a DMA engine on the processor, the secondary is notified and it crashes. It should not crash I suppose. The same software is running on several machines (100) but the problem is sporadic just on two of them. Very strange. Thx, Antonio. On Wed, May 22, 2024 at 9:21 AM Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> wrote: > > 2024-05-22 08:46 (UTC+0200), Antonio Di Bacco: > > Is it correct that a primary requests a secondary to map a device that > > the secondary explicitly blocks with the --block arg ? > > > > IN my case this requests of mapping creates a crash in the secondary. > > > > Using DPDK 21.11 > > > > Best regards, > > Antonio. > > Hi Antonio, > > "Secondary processes which requires access to physical devices in Primary > process, must be passed with the same allow and block options." > > https://doc.dpdk.org/guides/prog_guide/multi_proc_support.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Request to map PCI device in a secondary that uses the --block for that device 2024-05-22 8:06 ` Antonio Di Bacco @ 2024-05-22 17:03 ` Antonio Di Bacco 2024-05-22 17:09 ` Antonio Di Bacco 0 siblings, 1 reply; 5+ messages in thread From: Antonio Di Bacco @ 2024-05-22 17:03 UTC (permalink / raw) To: Dmitry Kozlyuk; +Cc: users I found the exact line where I get the crash (the line saying TAILQ_FOREACH) /* if we're in a secondary process, just find our tailq entry */ TAILQ_FOREACH(vfio_res, vfio_res_list, next) { if (rte_pci_addr_cmp(&vfio_res->pci_addr, &dev->addr)) continue; break; } /* if we haven't found our tailq entry, something's wrong */ if (vfio_res == NULL) { RTE_LOG(ERR, EAL, "%s cannot find TAILQ entry for PCI device!\n", pci_addr); return -1; } On Wed, May 22, 2024 at 10:06 AM Antonio Di Bacco <a.dibacco.ks@gmail.com> wrote: > > Thank you. > In my case, I have the same block/allow but the primary does an > explicit probe of a DMA engine on the processor, the secondary is > notified and it crashes. It should not crash I suppose. > The same software is running on several machines (100) but the problem > is sporadic just on two of them. > > Very strange. > > Thx, > Antonio. > > On Wed, May 22, 2024 at 9:21 AM Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> wrote: > > > > 2024-05-22 08:46 (UTC+0200), Antonio Di Bacco: > > > Is it correct that a primary requests a secondary to map a device that > > > the secondary explicitly blocks with the --block arg ? > > > > > > IN my case this requests of mapping creates a crash in the secondary. > > > > > > Using DPDK 21.11 > > > > > > Best regards, > > > Antonio. > > > > Hi Antonio, > > > > "Secondary processes which requires access to physical devices in Primary > > process, must be passed with the same allow and block options." > > > > https://doc.dpdk.org/guides/prog_guide/multi_proc_support.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Request to map PCI device in a secondary that uses the --block for that device 2024-05-22 17:03 ` Antonio Di Bacco @ 2024-05-22 17:09 ` Antonio Di Bacco 0 siblings, 0 replies; 5+ messages in thread From: Antonio Di Bacco @ 2024-05-22 17:09 UTC (permalink / raw) To: Dmitry Kozlyuk; +Cc: users For completeness (vfio_res_list is NULL): (gdb) bt #0 0x00007f75f074e849 in pci_vfio_map_resource_secondary (dev=0x7f377c00) at ../drivers/bus/pci/linux/pci_vfio.c:901 #1 0x00007f75f074ea7f in pci_vfio_map_resource (dev=0x7f377c00) at ../drivers/bus/pci/linux/pci_vfio.c:958 #2 0x00007f75f0749eb5 in rte_pci_map_device (dev=0x7f377c00) at ../drivers/bus/pci/linux/pci.c:70 #3 0x00007f75f0747e81 in rte_pci_probe_one_driver (dr=0x7f75f0397100 <ioat_pmd_drv>, dev=0x7f377c00) at ../drivers/bus/pci/pci_common.c:251 #4 0x00007f75f074820a in pci_probe_all_drivers (dev=0x7f377c00) at ../drivers/bus/pci/pci_common.c:353 #5 0x00007f75f07489b8 in pci_plug (dev=0x7f377c10) at ../drivers/bus/pci/pci_common.c:595 #6 0x00007f75f17a0a88 in local_dev_probe (devargs=0x7f75e4000bac "0000:40:04.3", new_dev=0x7f75ea943868) at ../lib/eal/common/eal_common_dev.c:174 #7 0x00007f75f17c8832 in __handle_primary_request (param=0x7f75e4000b60) at ../lib/eal/common/hotplug_mp.c:242 #8 0x00007f75f17ce78d in eal_alarm_callback (arg=0x0) at ../lib/eal/linux/eal_alarm.c:110 #9 0x00007f75f17d38c2 in eal_intr_process_interrupts (events=0x7f75ea943b10, nfds=1) at ../lib/eal/linux/eal_interrupts.c:1025 #10 0x00007f75f17d3ba8 in eal_intr_handle_interrupts (pfd=16, totalfds=2) at ../lib/eal/linux/eal_interrupts.c:1099 #11 0x00007f75f17d3d8f in eal_intr_thread_main (arg=0x0) at ../lib/eal/linux/eal_interrupts.c:1171 #12 0x00007f75f17b59c6 in ctrl_thread_init (arg=0x7f3640d0) at ../lib/eal/common/eal_common_thread.c:206 #13 0x00007f75f1b5d802 in start_thread () from /lib64/libc.so.6 #14 0x00007f75f1afd450 in clone3 () from /lib64/libc.so.6 (gdb) p vfio_res $1 = (struct mapped_pci_resource *) 0x0 (gdb) p vfio_res_list $2 = (struct mapped_pci_res_list *) 0x0 (gdb) p pci_addr $3 = "0000:40:04.3", '\000' <repeats 4083 times> (gdb) On Wed, May 22, 2024 at 7:03 PM Antonio Di Bacco <a.dibacco.ks@gmail.com> wrote: > > I found the exact line where I get the crash (the line saying TAILQ_FOREACH) > > /* if we're in a secondary process, just find our tailq entry */ > TAILQ_FOREACH(vfio_res, vfio_res_list, next) { > if (rte_pci_addr_cmp(&vfio_res->pci_addr, > &dev->addr)) > continue; > break; > } > /* if we haven't found our tailq entry, something's wrong */ > if (vfio_res == NULL) { > RTE_LOG(ERR, EAL, "%s cannot find TAILQ entry for PCI device!\n", > pci_addr); > return -1; > } > > On Wed, May 22, 2024 at 10:06 AM Antonio Di Bacco > <a.dibacco.ks@gmail.com> wrote: > > > > Thank you. > > In my case, I have the same block/allow but the primary does an > > explicit probe of a DMA engine on the processor, the secondary is > > notified and it crashes. It should not crash I suppose. > > The same software is running on several machines (100) but the problem > > is sporadic just on two of them. > > > > Very strange. > > > > Thx, > > Antonio. > > > > On Wed, May 22, 2024 at 9:21 AM Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> wrote: > > > > > > 2024-05-22 08:46 (UTC+0200), Antonio Di Bacco: > > > > Is it correct that a primary requests a secondary to map a device that > > > > the secondary explicitly blocks with the --block arg ? > > > > > > > > IN my case this requests of mapping creates a crash in the secondary. > > > > > > > > Using DPDK 21.11 > > > > > > > > Best regards, > > > > Antonio. > > > > > > Hi Antonio, > > > > > > "Secondary processes which requires access to physical devices in Primary > > > process, must be passed with the same allow and block options." > > > > > > https://doc.dpdk.org/guides/prog_guide/multi_proc_support.html ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-05-22 17:09 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-05-22 6:46 Request to map PCI device in a secondary that uses the --block for that device Antonio Di Bacco 2024-05-22 7:21 ` Dmitry Kozlyuk 2024-05-22 8:06 ` Antonio Di Bacco 2024-05-22 17:03 ` Antonio Di Bacco 2024-05-22 17:09 ` Antonio Di Bacco
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).