On 18-Oct-18 5:41 PM, Alejandro Lucero wrote:


On Thu, Oct 18, 2018 at 5:26 PM Burakov, Anatoly <anatoly.bura...@intel.com <mailto:anatoly.bura...@intel.com>> wrote:

    On 27-Sep-18 1:30 PM, Alejandro Lucero wrote:
     > Invoking rte_pci_read/write_config functions requires device with
     > a intr_handle type for using VFIO or UIO driver related functions.
     >
     > Secondary processes rely on primary processes for device
    initialization
     > so they do not usually require using these functions. However,
    some PMDs,
     > like NFP PMD, require using these functions even for secondary
    processes.
     >
     > Signed-off-by: Alejandro Lucero <alejandro.luc...@netronome.com
    <mailto:alejandro.luc...@netronome.com>>
     > ---

    Hi Alejandro,

    I’m curious of consequences of setting intr handle to a valid value
    when
    we don’t have an interrupt thread. Something may try to use it
    (although
    I couldn’t find any such usage).


The point is secondary processes do not deal with interrupts so I assume setting the type does not change anything but it allows to use PCI read/write functions by secondary processes.

    PCI config read really uses intr handle type to discover userspace
    driver type – this seems ever so slightly wrong, and looks like
    something that should be part of rte_device somewhere, independent of
    interrupt types. Do we have any other alternative to do the same thing
    (i.e. know what userspace driver is used for a particular PCI device)?


I agree current way not being specially good.

Your comment has reminded me there is another way: just using the kdrv field from the rte_pci_device struct. I have code using that field for doing a different thing in the NFP PMD depending on the driver in use, UIO or VFIO. So I think a better patch would be just to modify those pci functions for using kdrv field instead.

Adding Ferruh in the thread for commenting on this potential change.


I definitely think the way you describe would be a better way to fix this (i.e. use kdrv in PCI config functions rather than intr handle type).

--
Thanks,
Anatoly

Reply via email to