All of lore.kernel.org
 help / color / mirror / Atom feed
From: Edward Cree <ecree@solarflare.com>
To: Alexander Duyck <alexander.h.duyck@intel.com>
Cc: <linux-pci@vger.kernel.org>, Don Dutile <ddutile@redhat.com>,
	"Bjorn Helgaas" <bhelgaas@google.com>
Subject: Re: [PATCH] PCI: handle pci_sriov_set_totalvfs(dev, 0)
Date: Thu, 31 Jul 2014 16:56:58 +0100	[thread overview]
Message-ID: <53DA674A.9030305@solarflare.com> (raw)
In-Reply-To: <53DA5EF4.1030500@intel.com>

On 31/07/14 16:21, Alexander Duyck wrote:
> However if you are wanting to use this as a way to disable SR-IOV for a
> device I wouldn't recommend it.  Based on what you have described I
> would suggest dropping the fix in drivers/pci/quirks that would clear
> dev->is_physfn if you are in the PF-IOV mode.  That way the SR-IOV
> functionality should be fully disabled.
I still don't see how this can go in drivers/pci/quirks, because PF-IOV
mode can only be detected at driver probe time.  The way we find out
that the NIC is in PF-IOV mode is that a request to the MC (the
Management CPU on the card) to create a vswitch fails.  But maybe I'm
wrong about what quirks can do - is there any relevant documentation?

Clearing dev->is_physfn in the driver probe routine isn't safe:
dev->sriov memory can get leaked, for example, as sriov_init will get
called at device add, but sriov_release won't be called at removal.

I'm also unconvinced that having !(dev->is_physfn || dev->is_virtfn) is
a valid state; but maybe I'm misunderstanding and "is_physfn" doesn't
actually mean "is a physical function", but rather "has SR-IOV capability".
> In addition this solution would
> also resolve the fact that the driver wouldn't actually have to be
> loaded for it to work so if someone were to load a driver that didn't
> contain the fix they would be blocked from enabling SR-IOV as well.
The current driver fails to probe the PF because it assumes the vswitch
creation failure is fatal.  There should never be a driver that knows it
can live without the vswitch but doesn't know that that breaks SR-IOV.

-Edward
The information contained in this message is confidential and is intended for the addressee(s) only. If you have received this message in error, please notify the sender immediately and delete the message. Unless you are an addressee (or authorized to receive for an addressee), you may not use, copy or disclose to anyone this message or any information contained in this message. The unauthorized use, disclosure, copying or alteration of this message is strictly prohibited.

  reply	other threads:[~2014-07-31 15:57 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <53D9288B.5030302@solarflare.com>
2014-07-30 18:05 ` pci_sriov_set_totalvfs again Don Dutile
2014-07-30 18:24   ` Edward Cree
2014-07-30 21:14     ` Alexander Duyck
2014-07-31 12:07       ` Edward Cree
2014-07-31 14:24         ` [PATCH] PCI: handle pci_sriov_set_totalvfs(dev, 0) Edward Cree
2014-07-31 15:21           ` Alexander Duyck
2014-07-31 15:56             ` Edward Cree [this message]
2014-07-31 16:40               ` Alexander Duyck
2014-07-31 16:57                 ` Edward Cree
2014-07-31 17:53                   ` Don Dutile
2014-07-31 18:13                     ` Edward Cree
2014-08-04 14:03                       ` Edward Cree
2014-08-04 14:37                         ` Alexander Duyck
2014-08-04 15:22                           ` Edward Cree
2014-08-06  9:38                           ` Don Dutile
2014-07-31 17:55                   ` Alexander Duyck
2014-07-31 18:24                     ` Edward Cree
2014-08-01  3:18               ` Ethan Zhao
2014-08-01 11:51                 ` Edward Cree
2014-08-02  0:34                   ` Ethan Zhao
2014-08-01  3:51           ` Ethan Zhao
2014-08-01 12:15             ` Edward Cree
2014-08-02  0:25               ` Ethan Zhao
2014-08-04 15:45                 ` Edward Cree
2014-08-04 16:40                   ` Alexander Duyck
2014-08-04 17:08                     ` Edward Cree
2014-08-04  6:53               ` Sathya Perla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53DA674A.9030305@solarflare.com \
    --to=ecree@solarflare.com \
    --cc=alexander.h.duyck@intel.com \
    --cc=bhelgaas@google.com \
    --cc=ddutile@redhat.com \
    --cc=linux-pci@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.