[dpdk-dev] [PATCH v3] igb_uio: allow multi-process access
Tiwei Bie
tiwei.bie at intel.com
Wed Dec 20 03:17:13 CET 2017
On Tue, Dec 19, 2017 at 09:58:13AM -0800, Xiao Wang wrote:
[...]
> static char *intr_mode;
> @@ -336,6 +337,9 @@ struct rte_uio_pci_dev {
> struct pci_dev *dev = udev->pdev;
> int err;
>
> + if (atomic_inc_return(&udev->refcnt) > 1)
> + return 0;
> +
Hmm, ideally, you also need to make sure that other calls
won't return until the setup is actually done.
Best regards,
Tiwei Bie
> /* set bus master, which was cleared by the reset function */
> pci_set_master(dev);
>
> @@ -354,6 +358,9 @@ struct rte_uio_pci_dev {
> struct rte_uio_pci_dev *udev = info->priv;
> struct pci_dev *dev = udev->pdev;
>
> + if (atomic_dec_return(&udev->refcnt) > 0)
> + return 0;
> +
> /* disable interrupts */
> igbuio_pci_disable_interrupts(udev);
>
> --
> 1.8.3.1
>
More information about the dev
mailing list