From patchwork Mon Sep 26 16:25:52 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Konrad Rzeszutek Wilk X-Patchwork-Id: 116445 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id E573FB6F64 for ; Tue, 27 Sep 2011 02:26:34 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752280Ab1IZQ00 (ORCPT ); Mon, 26 Sep 2011 12:26:26 -0400 Received: from acsinet15.oracle.com ([141.146.126.227]:55402 "EHLO acsinet15.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752268Ab1IZQ0Z (ORCPT ); Mon, 26 Sep 2011 12:26:25 -0400 Received: from ucsinet24.oracle.com (ucsinet24.oracle.com [156.151.31.67]) by acsinet15.oracle.com (Switch-3.4.4/Switch-3.4.4) with ESMTP id p8QGQ7qY009744 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Mon, 26 Sep 2011 16:26:09 GMT Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158]) by ucsinet24.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id p8QGKSXe014132 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 26 Sep 2011 16:20:29 GMT Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57]) by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id p8QGPxTQ012969; Mon, 26 Sep 2011 11:25:59 -0500 Received: from oracle.com (/209.6.55.207) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 26 Sep 2011 09:25:59 -0700 Received: by oracle.com (Postfix, from userid 1000) id 6334E1551; Mon, 26 Sep 2011 12:25:52 -0400 (EDT) Date: Mon, 26 Sep 2011 12:25:52 -0400 From: Konrad Rzeszutek Wilk To: Jeff Kirsher , "davem@davemloft.net" Cc: "Rose, Gregory V" , Ian Campbell , "davem@davemloft.net" , Jesse Barnes , "netdev@vger.kernel.org" , "gospo@redhat.com" , "linux-pci@vger.kernel.org" Subject: Re: [net-next 1/8] pci: Add flag indicating device has been assigned by KVM [and Xen] Message-ID: <20110926162552.GA4175@phenom.oracle.com> References: <43F901BD926A4E43B106BF17856F0755019C518C0E@orsmsx508.amr.corp.intel.com> <1316790220.23371.105.camel@zakaz.uk.xensource.com> <43F901BD926A4E43B106BF17856F0755019C518C47@orsmsx508.amr.corp.intel.com> <1316792710.2182.124.camel@jtkirshe-mobl> <20110923164326.GA23363@phenom.oracle.com> <43F901BD926A4E43B106BF17856F0755019C518D57@orsmsx508.amr.corp.intel.com> <20110923180025.GA6251@phenom.oracle.com> <43F901BD926A4E43B106BF17856F0755019C518E23@orsmsx508.amr.corp.intel.com> <20110923190537.GA18850@phenom.oracle.com> <1316839300.2182.134.camel@jtkirshe-mobl> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1316839300.2182.134.camel@jtkirshe-mobl> User-Agent: Mutt/1.5.21 (2010-09-15) X-Source-IP: ucsinet24.oracle.com [156.151.31.67] X-CT-RefId: str=0001.0A090201.4E80A7A1.0218,ss=1,re=0.000,fgs=0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Fri, Sep 23, 2011 at 09:41:39PM -0700, Jeff Kirsher wrote: > On Fri, 2011-09-23 at 12:05 -0700, Konrad Rzeszutek Wilk wrote: > > > > > Version 2 of this patch with the modified comment was just posted to > > > > netdev. Ian Campbell had mentioned that the Xen pciback driver should be > > > > modified to use this flag but I don't believe any patches for it have been > > > > created yet. > > > > > > > > http://marc.info/?i=20110729165446.GA6731@dumpdata.com .. Any plans to support bnx4 and igb with this feature? Any ETA? Dave, Please also add this patch to your net-next queue. From 53cada5f5f614a856f6ea5a09dc565d6a455d7c2 Mon Sep 17 00:00:00 2001 From: Konrad Rzeszutek Wilk Date: Mon, 26 Sep 2011 12:22:01 -0400 Subject: [PATCH] xen/pciback: Add flag indicating device has been assigned by Xen Device drivers that create and destroy SR-IOV virtual functions via calls to pci_enable_sriov() and pci_disable_sriov can cause catastrophic failures if they attempt to destroy VFs while they are assigned to guest virtual machines. By adding a flag for use by the Xen PCI back to indicate that a device is assigned a device driver can check that flag and avoid destroying VFs while they are assigned and avoid system failures. Signed-off-by: Konrad Rzeszutek Wilk --- drivers/xen/xen-pciback/xenbus.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/xen/xen-pciback/xenbus.c b/drivers/xen/xen-pciback/xenbus.c index 978d2c6..18db31f 100644 --- a/drivers/xen/xen-pciback/xenbus.c +++ b/drivers/xen/xen-pciback/xenbus.c @@ -249,6 +249,7 @@ static int xen_pcibk_export_device(struct xen_pcibk_device *pdev, goto out; dev_dbg(&dev->dev, "registering for %d\n", pdev->xdev->otherend_id); + dev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED; if (xen_register_device_domain_owner(dev, pdev->xdev->otherend_id) != 0) { dev_err(&dev->dev, "device has been assigned to another " \ @@ -288,6 +289,7 @@ static int xen_pcibk_remove_device(struct xen_pcibk_device *pdev, } dev_dbg(&dev->dev, "unregistering for %d\n", pdev->xdev->otherend_id); + dev->dev_flags &= ~PCI_DEV_FLAGS_ASSIGNED; xen_unregister_device_domain_owner(dev); xen_pcibk_release_pci_dev(pdev, dev);