Hi Matan,

> -----Original Message-----
> From: Matan Azrad [mailto:ma...@mellanox.com]
> Sent: Tuesday, January 16, 2018 4:16 PM
> To: Lu, Wenzhuo <wenzhuo...@intel.com>; Thomas Monjalon
> <tho...@monjalon.net>; Gaetan Rivet <gaetan.ri...@6wind.com>; Wu,
> Jingjing <jingjing...@intel.com>
> Cc: dev@dpdk.org; Neil Horman <nhor...@tuxdriver.com>; Richardson,
> Bruce <bruce.richard...@intel.com>; Ananyev, Konstantin
> <konstantin.anan...@intel.com>
> Subject: RE: [dpdk-dev] [PATCH v2 6/6] app/testpmd: adjust ethdev port
> ownership
> 
> Hi Lu
> From: Lu, Wenzhuo, Tuesday, January 16, 2018 7:54 AM
> > Hi Matan,
> >
> >
> > > -----Original Message-----
> > > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Matan Azrad
> > > Sent: Sunday, January 7, 2018 5:46 PM
> > > To: Thomas Monjalon <tho...@monjalon.net>; Gaetan Rivet
> > > <gaetan.ri...@6wind.com>; Wu, Jingjing <jingjing...@intel.com>
> > > Cc: dev@dpdk.org; Neil Horman <nhor...@tuxdriver.com>; Richardson,
> > > Bruce <bruce.richard...@intel.com>; Ananyev, Konstantin
> > > <konstantin.anan...@intel.com>
> > > Subject: [dpdk-dev] [PATCH v2 6/6] app/testpmd: adjust ethdev port
> > > ownership
> > >
> > > Testpmd should not use ethdev ports which are managed by other DPDK
> > > entities.
> > >
> > > Set Testpmd ownership to each port which is not used by other entity
> > > and prevent any usage of ethdev ports which are not owned by Testpmd.
> > Sorry I don't follow all the discussion as there's too much. So it may
> > be a silly question.
> 
> No problem, I'm here for any question :)
> 
> > Testpmd already has the parameter " --pci-whitelist" to only use the
> > assigned devices.
> 
> It is an EAL parameter. No? just say to EAL which devices to create..
> 
> > When using this parameter, all the devices are owned by the current
> > APP.
> 
> No, what's about vdev? vdevs may manage devices(even whitlist PCI devices)
> by themselves and want to prevent any app to use these devices(see fail-
> safe PMD).
I'm not an expert of EAL and vdev. Suppose this would be discussed in other 
patches.
I don't want to bother you again here as testpmd is only used to show the 
result.
So I think if this patch is needed just depends on if other patches are 
accepted :)

> 
>  > So I don't know why need to set/check the ownership.
> > BTW, in this patch, seem all the change is for ownership checking. I
> > don't find the setting code. Do I miss something?
> 
> Yes, see in main function (the first FOREACH).
I think you mean this change,

@@ -2394,7 +2406,12 @@  uint8_t port_is_bonding_slave(portid_t slave_pid)
        rte_pdump_init(NULL);
 #endif
 
-       nb_ports = (portid_t) rte_eth_dev_count();
+       if (rte_eth_dev_owner_new(&my_owner.id))
+               rte_panic("Failed to get unique owner identifier\n");
+       snprintf(my_owner.name, sizeof(my_owner.name), TESTPMD_OWNER_NAME);
+       RTE_ETH_FOREACH_DEV_OWNED_BY(port_id, RTE_ETH_DEV_NO_OWNER)
+               if (rte_eth_dev_owner_set(port_id, &my_owner) == 0)
+                       nb_ports++;
        if (nb_ports == 0)
                RTE_LOG(WARNING, EAL, "No probed ethernet devices\n");
But I thought about some code to assign a specific device to a specific APP 
explicitly.
This code looks like just occupying the devices with no owner. So, it means the 
first APP will occupy all the devices? It makes me confused as I don't see the 
benefit or the difference than before.

> 
> Thanks, Matan.

Reply via email to