On Mon, Apr 3, 2017 at 8:33 PM, Ricardo Farrington <ricardo.farring...@cavium.com> wrote: > Hi Sunil - this implementation was verified with multiple adapters installed. > In this case, the <id> field serves to differentiate the adapter. > >> LiquidIO<id>-<func>-<type>-<queue pair num> > > Rick >
No, what I was referring to was, let's say there are two adapters, if we do a unbind of driver and then bind driver in reverse sequence, then the <id> of each adapter will get exchanged. isn't it ? If the above is true, the logical interface's name will still be the same but the <id> is different, so it's not easy to map a logical interface to it's registered IRQs, hence doing affinity setting is still problematic. But moreover it seems the driver is calling 'octeon_allocate_device()' for each VF, so not sure how <id> field which is derived from 'oct->octeon_id' helps in differentiating the adapter. Is there only one VF per adapter ? 821 static int 822 liquidio_vf_probe(struct pci_dev *pdev, 823 const struct pci_device_id *ent __attribute__((unused))) 824 { 825 struct octeon_device *oct_dev = NULL; 826 827 oct_dev = octeon_allocate_device(pdev->device, 828 sizeof(struct octeon_device_priv)); 829 Thanks, Sunil.