On Sun, Aug 15, 2021 at 9:50 PM Dmitry Kozlyuk <dmitry.kozl...@gmail.com> wrote: > > diff --git a/drivers/net/virtio/virtio_pci_ethdev.c > > b/drivers/net/virtio/virtio_pci_ethdev.c > > index 4083853c48..03e9dfab71 100644 > > --- a/drivers/net/virtio/virtio_pci_ethdev.c > > +++ b/drivers/net/virtio/virtio_pci_ethdev.c > > @@ -220,7 +220,9 @@ static struct rte_pci_driver rte_virtio_net_pci_pmd = { > > > > RTE_INIT(rte_virtio_net_pci_pmd_init) > > { > > +#if !(defined(_WIN32) || defined(_WIN64)) > > rte_eal_iopl_init(); > > +#endif > > I think rte_eal_iopl_init() should not be called from this PMD at all, > because it is allready called by PCI bus driver before probing.
This call to iopl() must be kept in a pmd constructor (at least on Linux) so that, for example, the interrupt thread inherits the IO priviledge level. > > Also, DPDK code should use #ifdef RTE_EXEC_ENV_WINDOWS, etc. to test > if it is building for a specific execution environment. > > > rte_pci_register(&rte_virtio_net_pci_pmd); > > } > > -- David Marchand