From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [RFC PATCH] igb_uio: issue FLR during open and release of device file Date: Wed, 31 May 2017 18:11:40 +0100 Message-ID: References: <1748341.rbpcFmWp0q@polaris> <1496228966-18573-1-git-send-email-shijith.thotton@caviumnetworks.com> <20170531083010.228859c3@xeon-e3> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: Shijith Thotton , Gregory Etelson , dev@dpdk.org, Qi Zhang , Wenzhuo Lu , Thomas Monjalon , Jianfeng Tan To: Stephen Hemminger Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 4A8DC2C3F for ; Wed, 31 May 2017 19:11:44 +0200 (CEST) In-Reply-To: <20170531083010.228859c3@xeon-e3> 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 5/31/2017 4:30 PM, Stephen Hemminger wrote: > On Wed, 31 May 2017 13:20:08 +0100 > Ferruh Yigit wrote: > >> On 5/31/2017 12:09 PM, Shijith Thotton wrote: >>> 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 >> >> 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. If so, should open() call pci_set_master(), currently it has been only called by igbuio_pci_probe() once?