Thread (5 messages) 5 messages, 2 authors, 2018-10-19

Re: [PATCH] bus/pci: set intr_handle type for secondary processes

From: Alejandro Lucero <hidden>
Date: 2018-10-18 16:41:43

On Thu, Oct 18, 2018 at 5:26 PM Burakov, Anatoly [off-list ref]
wrote:
On 27-Sep-18 1:30 PM, Alejandro Lucero wrote:
quoted
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 <redacted>
---
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.


--
Thanks,
Anatoly
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help