Thread (42 messages) 42 messages, 6 authors, 2017-07-20

Re: [RFC PATCH] igb_uio: issue FLR during open and release of device file

From: Shijith Thotton <hidden>
Date: 2017-06-01 11:35:23

On Wed, May 31, 2017 at 06:11:40PM +0100, Ferruh Yigit wrote:
On 5/31/2017 4:30 PM, Stephen Hemminger wrote:
quoted
On Wed, 31 May 2017 13:20:08 +0100
Ferruh Yigit [off-list ref] wrote:
quoted
On 5/31/2017 12:09 PM, Shijith Thotton wrote:
quoted
Set UIO info device file operations open and release. Call pci reset
function inside open and release to clear device state at start and
end. Copied this behaviour from vfio_pci kernel module code. With this
change, it is not mandatory to issue FLR by PMD's during init and close.  
Cc: Jianfeng Tan <redacted>

Jianfeng also implemented following patch:
http://dpdk.org/dev/patchwork/patch/17495/

Which also implements release and open ops, for slightly different
reason (prevent DMA access after app exit), but mainly both are to
gracefully handle application exit status.

btw, for Jianfeng's case, can adding pci_clear_master() in release and
moving pci_set_master() to open help preventing unwanted DMA?


Gregory,

Can you please check if this patch fixes your issue?

Thanks,
ferruh
pci_reset should stop all DMA. It also clears master status.
Per Alex Williamson[1], bus master will be disabled after FLR. But a disable is
preferred after reset, since all device won't behave as per spec.

1. http://www.spinics.net/lists/kvm/msg115715.html
If so, should open() call pci_set_master(), currently it has been only
called by igbuio_pci_probe() once?
DPDK has pci_uio_set_bus_master/pci_vfio_set_bus_master to set bus master.
Can we leave it to the application ? vfio leaves the device with bus master
disabled after open.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help