All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Duyck <alexander.duyck@gmail.com>
To: "Michael S. Tsirkin" <mst@redhat.com>, "Daly, Dan" <dan.daly@intel.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
	"Duyck, Alexander H" <alexander.h.duyck@intel.com>,
	linux-pci@vger.kernel.org, virtio-dev@lists.oasis-open.org,
	kvm@vger.kernel.org, Netdev <netdev@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-nvme@lists.infradead.org,
	Keith Busch <keith.busch@intel.com>,
	netanel@amazon.com, Don Dutile <ddutile@redhat.com>,
	Maximilian Heyne <mheyne@amazon.de>,
	"Wang, Liang-min" <liang-min.wang@intel.com>,
	"Rustad, Mark D" <mark.d.rustad@intel.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Christoph Hellwig <hch@lst.de>,
	dwmw@amazon.co.uk
Subject: Re: [virtio-dev] [pci PATCH v7 2/5] virtio_pci: Add support for unmanaged SR-IOV on virtio_pci devices
Date: Fri, 16 Mar 2018 09:40:34 -0700	[thread overview]
Message-ID: <CAKgT0UfgZ2gAdiAbCe4MTOr3o9cqq1q-mykCQsw68p2F-QEC8g@mail.gmail.com> (raw)
In-Reply-To: <20180316183042-mutt-send-email-mst@kernel.org>

On Fri, Mar 16, 2018 at 9:34 AM, Michael S. Tsirkin <mst@redhat.com> wrote:
> On Thu, Mar 15, 2018 at 11:42:41AM -0700, Alexander Duyck wrote:
>> From: Alexander Duyck <alexander.h.duyck@intel.com>
>>
>> Hardware-realized virtio_pci devices can implement SR-IOV, so this
>> patch enables its use. The device in question is an upcoming Intel
>> NIC that implements both a virtio_net PF and virtio_net VFs. These
>> are hardware realizations of what has been up to now been a software
>> interface.
>>
>> The device in question has the following 4-part PCI IDs:
>>
>> PF: vendor: 1af4 device: 1041 subvendor: 8086 subdevice: 15fe
>> VF: vendor: 1af4 device: 1041 subvendor: 8086 subdevice: 05fe
>>
>> The patch currently needs no check for device ID, because the callback
>> will never be made for devices that do not assert the capability or
>> when run on a platform incapable of SR-IOV.
>>
>> One reason for this patch is because the hardware requires the
>> vendor ID of a VF to be the same as the vendor ID of the PF that
>> created it. So it seemed logical to simply have a fully-functioning
>> virtio_net PF create the VFs. This patch makes that possible.
>>
>> Reviewed-by: Christoph Hellwig <hch@lst.de>
>> Signed-off-by: Mark Rustad <mark.d.rustad@intel.com>
>> Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
>
> So if and when virtio PFs can manage the VFs, then we can
> add a feature bit for that?
> Seems reasonable.

Yes. If nothing else you may not even need a feature bit depending on
how things go. One of the reasons why Mark called out the
subvendor/subdevice was because that might be able to be used to
identify the specific hardware that is providing the SR-IOV feature so
in the future if it is added to virtio itself then you could exclude
devices like this by just limiting things based on subvendor/subdevice
IDs.

> Also, I am guessing that hardware implementations will want
> to add things like stong memory barriers - I guess we
> will add new feature bits for that too down the road?

That piece I don't have visibility into at this time. Perhaps Dan
might have more visibility into future plans on what this might need.

Thanks.

- Alex

WARNING: multiple messages have this Message-ID (diff)
From: alexander.duyck@gmail.com (Alexander Duyck)
Subject: [virtio-dev] [pci PATCH v7 2/5] virtio_pci: Add support for unmanaged SR-IOV on virtio_pci devices
Date: Fri, 16 Mar 2018 09:40:34 -0700	[thread overview]
Message-ID: <CAKgT0UfgZ2gAdiAbCe4MTOr3o9cqq1q-mykCQsw68p2F-QEC8g@mail.gmail.com> (raw)
In-Reply-To: <20180316183042-mutt-send-email-mst@kernel.org>

On Fri, Mar 16, 2018@9:34 AM, Michael S. Tsirkin <mst@redhat.com> wrote:
> On Thu, Mar 15, 2018@11:42:41AM -0700, Alexander Duyck wrote:
>> From: Alexander Duyck <alexander.h.duyck at intel.com>
>>
>> Hardware-realized virtio_pci devices can implement SR-IOV, so this
>> patch enables its use. The device in question is an upcoming Intel
>> NIC that implements both a virtio_net PF and virtio_net VFs. These
>> are hardware realizations of what has been up to now been a software
>> interface.
>>
>> The device in question has the following 4-part PCI IDs:
>>
>> PF: vendor: 1af4 device: 1041 subvendor: 8086 subdevice: 15fe
>> VF: vendor: 1af4 device: 1041 subvendor: 8086 subdevice: 05fe
>>
>> The patch currently needs no check for device ID, because the callback
>> will never be made for devices that do not assert the capability or
>> when run on a platform incapable of SR-IOV.
>>
>> One reason for this patch is because the hardware requires the
>> vendor ID of a VF to be the same as the vendor ID of the PF that
>> created it. So it seemed logical to simply have a fully-functioning
>> virtio_net PF create the VFs. This patch makes that possible.
>>
>> Reviewed-by: Christoph Hellwig <hch at lst.de>
>> Signed-off-by: Mark Rustad <mark.d.rustad at intel.com>
>> Signed-off-by: Alexander Duyck <alexander.h.duyck at intel.com>
>
> So if and when virtio PFs can manage the VFs, then we can
> add a feature bit for that?
> Seems reasonable.

Yes. If nothing else you may not even need a feature bit depending on
how things go. One of the reasons why Mark called out the
subvendor/subdevice was because that might be able to be used to
identify the specific hardware that is providing the SR-IOV feature so
in the future if it is added to virtio itself then you could exclude
devices like this by just limiting things based on subvendor/subdevice
IDs.

> Also, I am guessing that hardware implementations will want
> to add things like stong memory barriers - I guess we
> will add new feature bits for that too down the road?

That piece I don't have visibility into at this time. Perhaps Dan
might have more visibility into future plans on what this might need.

Thanks.

- Alex

WARNING: multiple messages have this Message-ID (diff)
From: Alexander Duyck <alexander.duyck@gmail.com>
To: "Michael S. Tsirkin" <mst@redhat.com>, "Daly, Dan" <dan.daly@intel.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
	"Duyck, Alexander H" <alexander.h.duyck@intel.com>,
	linux-pci@vger.kernel.org, virtio-dev@lists.oasis-open.org,
	kvm@vger.kernel.org, Netdev <netdev@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-nvme@lists.infradead.org,
	Keith Busch <keith.busch@intel.com>,
	netanel@amazon.com, Don Dutile <ddutile@redhat.com>,
	Maximilian Heyne <mheyne@amazon.de>,
	"Wang, Liang-min" <liang-min.wang@intel.com>,
	"Rustad, Mark D" <mark.d.rustad@intel.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Christoph Hellwig <hch@lst.de>,
	dwmw@amazon.co.uk
Subject: Re: [virtio-dev] [pci PATCH v7 2/5] virtio_pci: Add support for unmanaged SR-IOV on virtio_pci devices
Date: Fri, 16 Mar 2018 09:40:34 -0700	[thread overview]
Message-ID: <CAKgT0UfgZ2gAdiAbCe4MTOr3o9cqq1q-mykCQsw68p2F-QEC8g@mail.gmail.com> (raw)
In-Reply-To: <20180316183042-mutt-send-email-mst@kernel.org>

On Fri, Mar 16, 2018 at 9:34 AM, Michael S. Tsirkin <mst@redhat.com> wrote:
> On Thu, Mar 15, 2018 at 11:42:41AM -0700, Alexander Duyck wrote:
>> From: Alexander Duyck <alexander.h.duyck@intel.com>
>>
>> Hardware-realized virtio_pci devices can implement SR-IOV, so this
>> patch enables its use. The device in question is an upcoming Intel
>> NIC that implements both a virtio_net PF and virtio_net VFs. These
>> are hardware realizations of what has been up to now been a software
>> interface.
>>
>> The device in question has the following 4-part PCI IDs:
>>
>> PF: vendor: 1af4 device: 1041 subvendor: 8086 subdevice: 15fe
>> VF: vendor: 1af4 device: 1041 subvendor: 8086 subdevice: 05fe
>>
>> The patch currently needs no check for device ID, because the callback
>> will never be made for devices that do not assert the capability or
>> when run on a platform incapable of SR-IOV.
>>
>> One reason for this patch is because the hardware requires the
>> vendor ID of a VF to be the same as the vendor ID of the PF that
>> created it. So it seemed logical to simply have a fully-functioning
>> virtio_net PF create the VFs. This patch makes that possible.
>>
>> Reviewed-by: Christoph Hellwig <hch@lst.de>
>> Signed-off-by: Mark Rustad <mark.d.rustad@intel.com>
>> Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
>
> So if and when virtio PFs can manage the VFs, then we can
> add a feature bit for that?
> Seems reasonable.

Yes. If nothing else you may not even need a feature bit depending on
how things go. One of the reasons why Mark called out the
subvendor/subdevice was because that might be able to be used to
identify the specific hardware that is providing the SR-IOV feature so
in the future if it is added to virtio itself then you could exclude
devices like this by just limiting things based on subvendor/subdevice
IDs.

> Also, I am guessing that hardware implementations will want
> to add things like stong memory barriers - I guess we
> will add new feature bits for that too down the road?

That piece I don't have visibility into at this time. Perhaps Dan
might have more visibility into future plans on what this might need.

Thanks.

- Alex

---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


  reply	other threads:[~2018-03-16 16:40 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-15 18:40 [pci PATCH v7 0/5] Add support for unmanaged SR-IOV Alexander Duyck
2018-03-15 18:40 ` [virtio-dev] " Alexander Duyck
2018-03-15 18:40 ` Alexander Duyck
2018-03-15 18:41 ` [pci PATCH v7 1/5] pci: Add pci_sriov_configure_simple for PFs that don't manage VF resources Alexander Duyck
2018-03-15 18:41   ` [virtio-dev] " Alexander Duyck
2018-03-15 18:41   ` Alexander Duyck
2018-03-28 21:30   ` [virtio-dev] " Rustad, Mark D
2018-03-28 21:30     ` Rustad, Mark D
2018-03-28 21:30     ` Rustad, Mark D
2018-03-15 18:42 ` [pci PATCH v7 2/5] virtio_pci: Add support for unmanaged SR-IOV on virtio_pci devices Alexander Duyck
2018-03-15 18:42   ` [virtio-dev] " Alexander Duyck
2018-03-15 18:42   ` Alexander Duyck
2018-03-16 16:34   ` [virtio-dev] " Michael S. Tsirkin
2018-03-16 16:34     ` Michael S. Tsirkin
2018-03-16 16:34     ` Michael S. Tsirkin
2018-03-16 16:40     ` Alexander Duyck [this message]
2018-03-16 16:40       ` Alexander Duyck
2018-03-16 16:40       ` Alexander Duyck
2018-04-03 13:12       ` Michael S. Tsirkin
2018-04-03 13:12         ` Michael S. Tsirkin
2018-04-03 13:12         ` Michael S. Tsirkin
2018-04-03 17:32         ` Alexander Duyck
2018-04-03 17:32           ` Alexander Duyck
2018-04-03 17:32           ` Alexander Duyck
2018-04-03 17:32           ` Alexander Duyck
2018-04-03 18:27           ` [virtio-dev] " Michael S. Tsirkin
2018-04-03 18:27             ` Michael S. Tsirkin
2018-04-03 18:27             ` Michael S. Tsirkin
2018-04-03 19:06             ` Alexander Duyck
2018-04-03 19:06               ` Alexander Duyck
2018-04-03 19:06               ` Alexander Duyck
2018-04-20  0:40               ` Michael S. Tsirkin
2018-04-20  0:40                 ` Michael S. Tsirkin
2018-04-20  0:40                 ` Michael S. Tsirkin
2018-04-20  0:40                 ` Michael S. Tsirkin
2018-04-20 14:56                 ` [virtio-dev] " Alexander Duyck
2018-04-20 14:56                   ` Alexander Duyck
2018-04-20 14:56                   ` Alexander Duyck
2018-04-20 15:28                   ` Michael S. Tsirkin
2018-04-20 15:28                     ` Michael S. Tsirkin
2018-04-20 15:28                     ` Michael S. Tsirkin
2018-04-20 15:28                     ` Michael S. Tsirkin
2018-04-20 16:08                     ` [virtio-dev] " Alexander Duyck
2018-04-20 16:08                       ` Alexander Duyck
2018-04-20 16:08                       ` Alexander Duyck
2018-04-20 16:14                       ` Michael S. Tsirkin
2018-04-20 16:14                         ` Michael S. Tsirkin
2018-04-20 16:14                         ` Michael S. Tsirkin
2018-04-21  7:05                     ` Christoph Hellwig
2018-04-21  7:05                       ` Christoph Hellwig
2018-04-03 19:18             ` Rustad, Mark D
2018-04-03 19:18               ` Rustad, Mark D
2018-04-03 19:18               ` Rustad, Mark D
2018-03-28 21:31   ` Rustad, Mark D
2018-03-28 21:31     ` [virtio-dev] " Rustad, Mark D
2018-03-28 21:31     ` Rustad, Mark D
2018-03-28 21:31     ` Rustad, Mark D
2018-04-03 13:11   ` [virtio-dev] " Michael S. Tsirkin
2018-04-03 13:11     ` Michael S. Tsirkin
2018-04-03 13:11     ` Michael S. Tsirkin
2018-04-03 13:11     ` Michael S. Tsirkin
2018-03-15 18:43 ` [pci PATCH v7 3/5] ena: Migrate over to unmanaged SR-IOV support Alexander Duyck
2018-03-15 18:43   ` [virtio-dev] " Alexander Duyck
2018-03-15 18:43   ` Alexander Duyck
2018-03-15 18:43 ` [pci PATCH v7 4/5] nvme: " Alexander Duyck
2018-03-15 18:43   ` [virtio-dev] " Alexander Duyck
2018-03-15 18:43   ` Alexander Duyck
2018-03-15 18:44 ` [pci PATCH v7 5/5] pci-pf-stub: Add PF driver stub for PFs that function only to enable VFs Alexander Duyck
2018-03-15 18:44   ` [virtio-dev] " Alexander Duyck
2018-03-15 18:44   ` Alexander Duyck
2018-03-16 21:42 ` [pci PATCH v7 0/5] Add support for unmanaged SR-IOV Don Dutile
2018-03-16 21:42   ` Don Dutile
2018-04-19 22:54 ` Alexander Duyck
2018-04-19 22:54   ` [virtio-dev] " Alexander Duyck
2018-04-19 22:54   ` Alexander Duyck
2018-04-20  0:46   ` Michael S. Tsirkin
2018-04-20  0:46     ` [virtio-dev] " Michael S. Tsirkin
2018-04-20  0:46     ` Michael S. Tsirkin

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=CAKgT0UfgZ2gAdiAbCe4MTOr3o9cqq1q-mykCQsw68p2F-QEC8g@mail.gmail.com \
    --to=alexander.duyck@gmail.com \
    --cc=alexander.h.duyck@intel.com \
    --cc=bhelgaas@google.com \
    --cc=dan.daly@intel.com \
    --cc=ddutile@redhat.com \
    --cc=dwmw2@infradead.org \
    --cc=dwmw@amazon.co.uk \
    --cc=hch@lst.de \
    --cc=keith.busch@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=liang-min.wang@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=mark.d.rustad@intel.com \
    --cc=mheyne@amazon.de \
    --cc=mst@redhat.com \
    --cc=netanel@amazon.com \
    --cc=netdev@vger.kernel.org \
    --cc=virtio-dev@lists.oasis-open.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.