From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH] igb_uio: remove device reset in open Date: Thu, 2 Nov 2017 11:09:38 -0700 Message-ID: References: <20171020165511.47899-1-ferruh.yigit@intel.com> <44560a31-d8dc-b2e1-1589-95020fb654f3@intel.com> <5108b90a-5617-ea1a-ad41-c2eb83b8c1a1@intel.com> <02e895a8-e1fa-7159-f0e9-b8b8f883ae27@intel.com> <20171101151220.0f3f811b@shemminger-XPS-13-9360> <630caef1-99df-3d45-11ca-2cb6ef277dde@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: "Tan, Jianfeng" , Jingjing Wu , "Thotton, Shijith" , Gregory Etelson , "Patil, Harish" , Thomas Monjalon , "dev@dpdk.org" , "stable@dpdk.org" , George Prekas , Sergio Gonzalez Monroy To: "Mody, Rasesh" , Stephen Hemminger Return-path: In-Reply-To: Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 11/2/2017 10:34 AM, Mody, Rasesh wrote: >> From: Ferruh Yigit [mailto:ferruh.yigit@intel.com] >> Sent: Thursday, November 02, 2017 1:55 AM >> >> On 11/2/2017 1:03 AM, Mody, Rasesh wrote: >>>> From: Stephen Hemminger [mailto:stephen@networkplumber.org] >>>> Sent: Wednesday, November 01, 2017 7:12 AM >>>> >>>> On Wed, 1 Nov 2017 06:58:53 +0000 >>>> "Mody, Rasesh" wrote: >>>> >>>>> Hi Jianfeng and Ferruh, >>>>> >>>>>> From: Ferruh Yigit [mailto:ferruh.yigit@intel.com] >>>>>> Sent: Thursday, October 26, 2017 5:50 PM >>>>>> >>>>>> On 10/26/2017 2:28 AM, Tan, Jianfeng wrote: >>>>>>> Hi Rasesh, >>>>>>> >>>>>>> >>>>>>> On 10/26/2017 7:43 AM, Mody, Rasesh wrote: >>>>>>>> Hi Ferruh, >>>>>>>> >>>>>>>>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ferruh >>>>>>>>> Yigit >>>>>>>>> Sent: Friday, October 20, 2017 9:58 AM >>>>>>>>> >>>>>>>>> On 10/20/2017 9:55 AM, Ferruh Yigit wrote: >>>>>>>>>> Remove device reset during application start, the reset for >>>>>>>>>> application exit still there. >>>>>>>>>> >>>>>>>>>> Reset in open removed because of following comments: >>>>>>>>>> 1- Device reset not completed when VF driver loaded, which >>>>>>>>>> cause VF >>>>>> PMD >>>>>>>>>> initialization error. >>>>>>>>>> Adding delay can solve the issue but will increase driver load >> time. >>>>>>>>>> >>>>>>>>>> 2- Reset will be issues all devices unconditionally, not very >> efficient >>>>>>>>>> way. >>>>>>>>>> >>>>>>>>>> Fixes: b58eedfc7dd5 ("igb_uio: issue FLR during open and >>>>>>>>>> release of device file") >>>>>>>>>> Cc: stable@dpdk.org >>>>>>>>>> >>>>>>>>>> Signed-off-by: Ferruh Yigit >>>>>>>>> Hi Jingjing, Shijith, Gregory, Harish, >>>>>>>>> >>>>>>>>> Can you please test this on top of current master (which has >>>>>>>>> already Jingjin's >>>>>>>>> fix) ? >>>>>>>> The original FLR change during igb_uio open()/release() in >>>>>>>> DPDK17.08 also >>>>>> impacts BNX2X PMD and it exhibits the issues with bare metal testing. >>>>>>>> >>>>>>>> Now, we tested this change for BNX2X PMD using latest dpdk, which >>>>>>>> has >>>>>> this fix where FLR is invoked only in the release(). >>>>>> >>>>>> Good to hear this fixed the problem. >>>>> >>>>> Yes, it fixed the issue caused by pci reset during application start. >>>>> >>>>>> >>>>>>>> However, we ran into an issue when trying to reload the testpmd >>>>>> application in quick succession. The pci reset, called during the >>>>>> igb_uio >>>>>> release() operation, is taking longer time and adapter is still >>>>>> doing the FLR when we relaunch the application. We see this >>>>>> behavior with bare metal testing. >>>>>>> >>>>>>> If we don't reset that device, it will continue working which is a >>>>>>> more serious issue IMO. >>>>>> >>>>>> +1 >>>>> >>>>> I think, it would better for the individual PMDs to take care of the >>>>> reset >>>> during the application exit. >>>> >>>> That will never be possible. Poll Mode Drivers are userspace entities >>>> and part of the application. If application crashes, there is no way >>>> for PMD to do cleanup, it must be handled by kernel. >>> >>> The pci reset in release is breaking the BNX2X PMD. Could we revert this >> reset and get it included with a solution that works for all in the next release? >> >> Hi Rasesh, >> >> I am not sure if there is more to do for solution for next releases, and related >> to your case, indeed I wasn't expecting a device reset will take more than >> five minutes... >> >> Would you be OK to control the reset via a compile time config option, which >> is enabled by default. So you will need to disable it to prevent the reset? > > Hi Ferruh, > > As I understand, we will have a compile time config option, enabled by default, to guard the pci_reset_function() in the igbuio_pci_release(). We will disable this config option to prevent the reset when using BNX2X. Yep, this is the idea. > The controlled reset should work for us. If there is no objection, I can send a patch for this. > > Thanks! > -Rasesh >