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.

Reply via email to