Request to map PCI device in a secondary that uses the --block for that device
Antonio Di Bacco
a.dibacco.ks at gmail.com
Wed May 22 19:03:32 CEST 2024
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 at 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 at 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
More information about the users
mailing list