All of lore.kernel.org
 help / color / mirror / Atom feed
From: Casey Leedom <leedom@chelsio.com>
To: Alexander Duyck <alexander.duyck@gmail.com>
Cc: Netdev <netdev@vger.kernel.org>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"David.Laight@aculab.com" <David.Laight@aculab.com>,
	"ashok.raj@intel.com" <ashok.raj@intel.com>,
	"Alex Williamson" <alex.williamson@redhat.com>,
	"l.stach@pengutronix.de" <l.stach@pengutronix.de>,
	"Suravee.Suthikulpanit@amd.com" <Suravee.Suthikulpanit@amd.com>,
	"catalin.marinas@arm.com" <catalin.marinas@arm.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"will.deacon@arm.com" <will.deacon@arm.com>,
	Sinan Kaya <okaya@codeaurora.org>,
	"robin.murphy@arm.com" <robin.murphy@arm.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>,
	Ganesh GR <ganeshgr@chelsio.com>,
	"asit.k.mallick@intel.com" <asit.k.mallick@intel.com>,
	"jeffrey.t.kirsher@intel.com" <jeffrey.t.kirsher@intel.com>,
	"mark.rutland@arm.com" <mark.rutland@arm.com>,
	"gabriele.paoloni@huawei.com" <gabriele.paoloni@huawei.com>,
	Michael Werner <werner@chelsio.com>,
	"bhelgaas@google.com" <bhelgaas@google.com>,
	"patrick.j.cramer@intel.com" <patrick.j.cramer@intel.com>,
	Ding Tianhong <dingtianhong@huawei.com>,
	"linuxarm@huawei.com" <linuxarm@huawei.com>,
	"amira@mellanox.com" <amira@mellanox.com>,
	"Bob.Shaw@amd.com" <Bob.Shaw@amd.com>
Subject: Re: [PATCH v7 2/3] PCI: Enable PCIe Relaxed Ordering if supported
Date: Wed, 26 Jul 2017 19:05:49 +0000	[thread overview]
Message-ID: <MWHPR12MB16007782C422082A92F4765DC8B90@MWHPR12MB1600.namprd12.prod.outlook.com> (raw)
In-Reply-To: <CAKgT0Udn2vh6NaqZyiF69nXVnz2sT=e0ZgiDjWznhGZz-Gk+qQ@mail.gmail.com>

| From: Alexander Duyck <alexander.duyck@gmail.com>
| Sent: Wednesday, July 26, 2017 11:44 AM
| 
| On Jul 26, 2017 11:26 AM, "Casey Leedom" <leedom@chelsio.com> wrote:
| |
| |     I think that the patch will need to be extended to modify
| |     drivers/pci.c/iov.c:sriov_enable() to explicitly turn off
| |     Relaxed Ordering Enable if the Root Complex is marked
|     for no RO TLPs.
| 
| I'm not sure that would be an issue. Wouldn't most VFs inherit the PF's settings?

Ah yes, you're right.  This is covered in section 3.5.4 of the Single Root I/O
Virtualization and Sharing Specification, Revision 1.0 (September 11, 2007),
governing the PCIe Capability Device Control register.  It states that the VF
version of that register shall follow the setting of the corresponding PF.

So we should enhance the cxgb4vf/sge.c:t4vf_sge_alloc_rxq() in the same
way we did for the cxgb4 driver, but that's not critical since the Relaxed
Ordering Enable supersedes the internal chip's desire to use the Relaxed
Ordering Attribute.

Ding, send me a note if you'd like me to work that up for you.

| Also I thought most of the VF configuration space is read only.

Yes, but not all of it.  And when a VF is exported to a Virtual Machine,
then the Hypervisor captures and interprets all accesses to the VF's
PCIe Configuration Space from the VM.

Thanks again for reminding me of the subtle aspect of the SR_IOV
specification that I forgot.

Casey

WARNING: multiple messages have this Message-ID (diff)
From: Casey Leedom <leedom@chelsio.com>
To: Alexander Duyck <alexander.duyck@gmail.com>
Cc: Netdev <netdev@vger.kernel.org>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"David.Laight@aculab.com" <David.Laight@aculab.com>,
	"ashok.raj@intel.com" <ashok.raj@intel.com>,
	"Alex Williamson" <alex.williamson@redhat.com>,
	"l.stach@pengutronix.de" <l.stach@pengutronix.de>,
	"Suravee.Suthikulpanit@amd.com" <Suravee.Suthikulpanit@amd.com>,
	"catalin.marinas@arm.com" <catalin.marinas@arm.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"will.deacon@arm.com" <will.deacon@arm.com>,
	Sinan Kaya <okaya@codeaurora.org>,
	"robin.murphy@arm.com" <robin.murphy@arm.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>,
	Ganesh GR <g
Subject: Re: [PATCH v7 2/3] PCI: Enable PCIe Relaxed Ordering if supported
Date: Wed, 26 Jul 2017 19:05:49 +0000	[thread overview]
Message-ID: <MWHPR12MB16007782C422082A92F4765DC8B90@MWHPR12MB1600.namprd12.prod.outlook.com> (raw)
In-Reply-To: <CAKgT0Udn2vh6NaqZyiF69nXVnz2sT=e0ZgiDjWznhGZz-Gk+qQ@mail.gmail.com>

| From: Alexander Duyck <alexander.duyck@gmail.com>
| Sent: Wednesday, July 26, 2017 11:44 AM
| 
| On Jul 26, 2017 11:26 AM, "Casey Leedom" <leedom@chelsio.com> wrote:
| |
| |     I think that the patch will need to be extended to modify
| |     drivers/pci.c/iov.c:sriov_enable() to explicitly turn off
| |     Relaxed Ordering Enable if the Root Complex is marked
|     for no RO TLPs.
| 
| I'm not sure that would be an issue. Wouldn't most VFs inherit the PF's settings?

Ah yes, you're right.  This is covered in section 3.5.4 of the Single Root I/O
Virtualization and Sharing Specification, Revision 1.0 (September 11, 2007),
governing the PCIe Capability Device Control register.  It states that the VF
version of that register shall follow the setting of the corresponding PF.

So we should enhance the cxgb4vf/sge.c:t4vf_sge_alloc_rxq() in the same
way we did for the cxgb4 driver, but that's not critical since the Relaxed
Ordering Enable supersedes the internal chip's desire to use the Relaxed
Ordering Attribute.

Ding, send me a note if you'd like me to work that up for you.

| Also I thought most of the VF configuration space is read only.

Yes, but not all of it.  And when a VF is exported to a Virtual Machine,
then the Hypervisor captures and interprets all accesses to the VF's
PCIe Configuration Space from the VM.

Thanks again for reminding me of the subtle aspect of the SR_IOV
specification that I forgot.

Casey

WARNING: multiple messages have this Message-ID (diff)
From: Casey Leedom <leedom@chelsio.com>
To: Alexander Duyck <alexander.duyck@gmail.com>
Cc: Netdev <netdev@vger.kernel.org>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"David.Laight@aculab.com" <David.Laight@aculab.com>,
	"ashok.raj@intel.com" <ashok.raj@intel.com>,
	"Alex Williamson" <alex.williamson@redhat.com>,
	"l.stach@pengutronix.de" <l.stach@pengutronix.de>,
	"Suravee.Suthikulpanit@amd.com" <Suravee.Suthikulpanit@amd.com>,
	"catalin.marinas@arm.com" <catalin.marinas@arm.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"will.deacon@arm.com" <will.deacon@arm.com>,
	Sinan Kaya <okaya@codeaurora.org>,
	"robin.murphy@arm.com" <robin.murphy@arm.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>,
	Ganesh GR <ganeshgr@chelsio.com>,
	"asit.k.mallick@intel.com" <asit.k.mallick@intel.com>,
	"jeffrey.t.kirsher@intel.com" <jeffrey.t.kirsher@intel.com>,
	"mark.rutland@arm.com" <mark.rutland@arm.com>,
	"gabriele.paoloni@huawei.com" <gabriele.paoloni@huawei.com>,
	Michael Werner <werner@chelsio.com>,
	"bhelgaas@google.com" <bhelgaas@google.com>,
	"patrick.j.cramer@intel.com" <patrick.j.cramer@intel.com>,
	Ding Tianhong <dingtianhong@huawei.com>,
	"linuxarm@huawei.com" <linuxarm@huawei.com>,
	"amira@mellanox.com" <amira@mellanox.com>,
	"Bob.Shaw@amd.com" <Bob.Shaw@amd.com>
Subject: Re: [PATCH v7 2/3] PCI: Enable PCIe Relaxed Ordering if supported
Date: Wed, 26 Jul 2017 19:05:49 +0000	[thread overview]
Message-ID: <MWHPR12MB16007782C422082A92F4765DC8B90@MWHPR12MB1600.namprd12.prod.outlook.com> (raw)
In-Reply-To: <CAKgT0Udn2vh6NaqZyiF69nXVnz2sT=e0ZgiDjWznhGZz-Gk+qQ@mail.gmail.com>

| From: Alexander Duyck <alexander.duyck@gmail.com>
| Sent: Wednesday, July 26, 2017 11:44 AM
|=20
| On Jul 26, 2017 11:26 AM, "Casey Leedom" <leedom@chelsio.com> wrote:
| |
| | =A0 =A0 I think that the patch will need to be extended to modify
| | =A0 =A0 drivers/pci.c/iov.c:sriov_enable() to explicitly turn off
| | =A0 =A0 Relaxed Ordering Enable if the Root Complex is marked
| =A0 =A0 for no RO TLPs.
|=20
| I'm not sure that would be an issue. Wouldn't most VFs inherit the PF's s=
ettings?

Ah yes, you're right.  This is covered in section 3.5.4 of the Single Root =
I/O
Virtualization and Sharing Specification, Revision 1.0 (September 11, 2007)=
,
governing the PCIe Capability Device Control register.  It states that the =
VF
version of that register shall follow the setting of the corresponding PF.

So we should enhance the cxgb4vf/sge.c:t4vf_sge_alloc_rxq() in the same
way we did for the cxgb4 driver, but that's not critical since the Relaxed
Ordering Enable supersedes the internal chip's desire to use the Relaxed
Ordering Attribute.

Ding, send me a note if you'd like me to work that up for you.

| Also I thought most of the VF configuration space is read only.

Yes, but not all of it.  And when a VF is exported to a Virtual Machine,
then the Hypervisor captures and interprets all accesses to the VF's
PCIe Configuration Space from the VM.

Thanks again for reminding me of the subtle aspect of the SR_IOV
specification that I forgot.

Casey=

WARNING: multiple messages have this Message-ID (diff)
From: leedom@chelsio.com (Casey Leedom)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 2/3] PCI: Enable PCIe Relaxed Ordering if supported
Date: Wed, 26 Jul 2017 19:05:49 +0000	[thread overview]
Message-ID: <MWHPR12MB16007782C422082A92F4765DC8B90@MWHPR12MB1600.namprd12.prod.outlook.com> (raw)
In-Reply-To: <CAKgT0Udn2vh6NaqZyiF69nXVnz2sT=e0ZgiDjWznhGZz-Gk+qQ@mail.gmail.com>

| From: Alexander Duyck <alexander.duyck@gmail.com>
| Sent: Wednesday, July 26, 2017 11:44 AM
| 
| On Jul 26, 2017 11:26 AM, "Casey Leedom" <leedom@chelsio.com> wrote:
| |
| | ? ? I think that the patch will need to be extended to modify
| | ? ? drivers/pci.c/iov.c:sriov_enable() to explicitly turn off
| | ? ? Relaxed Ordering Enable if the Root Complex is marked
| ? ? for no RO TLPs.
| 
| I'm not sure that would be an issue. Wouldn't most VFs inherit the PF's settings?

Ah yes, you're right.  This is covered in section 3.5.4 of the Single Root I/O
Virtualization and Sharing Specification, Revision 1.0 (September 11, 2007),
governing the PCIe Capability Device Control register.  It states that the VF
version of that register shall follow the setting of the corresponding PF.

So we should enhance the cxgb4vf/sge.c:t4vf_sge_alloc_rxq() in the same
way we did for the cxgb4 driver, but that's not critical since the Relaxed
Ordering Enable supersedes the internal chip's desire to use the Relaxed
Ordering Attribute.

Ding, send me a note if you'd like me to work that up for you.

| Also I thought most of the VF configuration space is read only.

Yes, but not all of it.  And when a VF is exported to a Virtual Machine,
then the Hypervisor captures and interprets all accesses to the VF's
PCIe Configuration Space from the VM.

Thanks again for reminding me of the subtle aspect of the SR_IOV
specification that I forgot.

Casey

  reply	other threads:[~2017-07-26 19:05 UTC|newest]

Thread overview: 114+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-13 14:21 [PATCH v7 0/3] Add new PCI_DEV_FLAGS_NO_RELAXED_ORDERING flag Ding Tianhong
2017-07-13 14:21 ` Ding Tianhong
2017-07-13 14:21 ` [PATCH v7 1/3] PCI: Add new PCIe Fabric End Node flag, PCI_DEV_FLAGS_NO_RELAXED_ORDERING Ding Tianhong
2017-07-13 14:21   ` Ding Tianhong
2017-08-03  8:55   ` Raj, Ashok
2017-08-03  8:55     ` Raj, Ashok
2017-08-03 10:20     ` Ding Tianhong
2017-08-03 10:20       ` Ding Tianhong
2017-07-13 14:21 ` [PATCH v7 2/3] PCI: Enable PCIe Relaxed Ordering if supported Ding Tianhong
2017-07-13 14:21   ` Ding Tianhong
2017-07-13 14:21   ` Ding Tianhong
2017-07-13 21:09   ` Sinan Kaya
2017-07-13 21:09     ` Sinan Kaya
2017-07-14  1:26     ` Ding Tianhong
2017-07-14  1:26       ` Ding Tianhong
2017-07-14 13:54       ` Sinan Kaya
2017-07-14 13:54         ` Sinan Kaya
2017-07-22  4:19         ` Ding Tianhong
2017-07-22  4:19           ` Ding Tianhong
2017-07-24 15:05           ` Alex Williamson
2017-07-24 15:05             ` Alex Williamson
2017-07-26 18:26             ` Casey Leedom
2017-07-26 18:26               ` Casey Leedom
2017-07-26 18:26               ` Casey Leedom
2017-07-26 18:26               ` Casey Leedom
     [not found]               ` <CAKgT0UeAad6WArvrE71MFJywDs1wOnCF-iJRnbNLrL+knqhXeA@mail.gmail.com>
     [not found]                 ` <CAKgT0Uf5hdXUXja_jUB6_kBg6pyX8zXuOMOGzCVNgeBFMUsWqQ@mail.gmail.com>
2017-07-26 18:44                   ` Alexander Duyck
2017-07-26 19:05                     ` Casey Leedom [this message]
2017-07-26 19:05                       ` Casey Leedom
2017-07-26 19:05                       ` Casey Leedom
2017-07-26 19:05                       ` Casey Leedom
2017-07-27  1:01                       ` Ding Tianhong
2017-07-27  1:01                         ` Ding Tianhong
2017-07-27  1:01                         ` Ding Tianhong
2017-07-27  1:01                         ` Ding Tianhong
2017-07-27 17:44                         ` Casey Leedom
2017-07-27 17:44                           ` Casey Leedom
2017-07-27 17:44                           ` Casey Leedom
2017-07-27 17:44                           ` Casey Leedom
2017-07-27 18:42                           ` Raj, Ashok
2017-07-27 18:42                             ` Raj, Ashok
2017-07-27 18:42                             ` Raj, Ashok
2017-07-27 18:42                             ` Raj, Ashok
2017-07-28  2:57                             ` Ding Tianhong
2017-07-28  2:57                               ` Ding Tianhong
2017-07-28  2:57                               ` Ding Tianhong
2017-07-28  2:57                               ` Ding Tianhong
2017-07-28  2:48                           ` Ding Tianhong
2017-07-28  2:48                             ` Ding Tianhong
2017-07-28  2:48                             ` Ding Tianhong
2017-07-28  2:48                             ` Ding Tianhong
2017-07-27  1:08               ` Ding Tianhong
2017-07-27  1:08                 ` Ding Tianhong
2017-07-27  1:08                 ` Ding Tianhong
2017-07-27  1:08                 ` Ding Tianhong
2017-07-27 17:49                 ` Alexander Duyck
2017-07-27 17:49                   ` Alexander Duyck
2017-07-27 17:49                   ` Alexander Duyck
2017-07-27 17:49                   ` Alexander Duyck
2017-07-28  3:00                   ` Ding Tianhong
2017-07-28  3:00                     ` Ding Tianhong
2017-07-28  3:00                     ` Ding Tianhong
2017-07-28  3:00                     ` Ding Tianhong
2017-08-02 17:53                     ` Casey Leedom
2017-08-02 17:53                       ` Casey Leedom
2017-08-02 17:53                       ` Casey Leedom
2017-08-02 17:53                       ` Casey Leedom
2017-08-03  8:31                       ` Raj, Ashok
2017-08-03  8:31                         ` Raj, Ashok
2017-08-03  8:31                         ` Raj, Ashok
2017-08-03  8:31                         ` Raj, Ashok
2017-08-04 20:20                         ` Casey Leedom
2017-08-04 20:20                           ` Casey Leedom
2017-08-04 20:20                           ` Casey Leedom
2017-08-04 20:20                           ` Casey Leedom
2017-08-04 20:21                           ` Raj, Ashok
2017-08-04 20:21                             ` Raj, Ashok
2017-08-04 20:21                             ` Raj, Ashok
2017-08-04 20:21                             ` Raj, Ashok
2017-08-04 20:48                             ` Casey Leedom
2017-08-04 20:48                               ` Casey Leedom
2017-08-04 20:48                               ` Casey Leedom
2017-08-04 20:48                               ` Casey Leedom
2017-08-07  9:04                               ` David Laight
2017-08-07  9:04                                 ` David Laight
2017-08-07  9:04                                 ` David Laight
2017-08-07  9:04                                 ` David Laight
2017-08-03  9:13   ` Raj, Ashok
2017-08-03  9:13     ` Raj, Ashok
2017-08-03 10:22     ` Ding Tianhong
2017-08-03 10:22       ` Ding Tianhong
2017-07-13 14:21 ` [PATCH v7 3/3] net/cxgb4: Use new PCI_DEV_FLAGS_NO_RELAXED_ORDERING flag Ding Tianhong
2017-07-13 14:21   ` Ding Tianhong
2017-07-13 14:21   ` Ding Tianhong
2017-07-13 18:14   ` Alexander Duyck
2017-07-13 18:14     ` Alexander Duyck
2017-07-13 18:14     ` Alexander Duyck
2017-07-13 18:14     ` Alexander Duyck
2017-07-13 18:17     ` Alexander Duyck
2017-07-13 18:17       ` Alexander Duyck
2017-07-13 18:17       ` Alexander Duyck
2017-07-13 18:17       ` Alexander Duyck
2017-07-13 18:44       ` Casey Leedom
2017-07-14 10:23         ` Ding Tianhong
2017-07-14 10:23           ` Ding Tianhong
2017-07-14 10:23           ` Ding Tianhong
2017-07-14 10:23           ` Ding Tianhong
2017-07-14 17:50           ` Casey Leedom
2017-07-14 17:50             ` Casey Leedom
2017-07-14 17:50             ` Casey Leedom
2017-07-14 17:50             ` Casey Leedom
2017-07-14  0:00       ` Casey Leedom
2017-07-14  0:00         ` Casey Leedom
2017-07-14  0:00         ` Casey Leedom
2017-07-14  0:00         ` Casey Leedom

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=MWHPR12MB16007782C422082A92F4765DC8B90@MWHPR12MB1600.namprd12.prod.outlook.com \
    --to=leedom@chelsio.com \
    --cc=Bob.Shaw@amd.com \
    --cc=David.Laight@aculab.com \
    --cc=Suravee.Suthikulpanit@amd.com \
    --cc=alex.williamson@redhat.com \
    --cc=alexander.duyck@gmail.com \
    --cc=amira@mellanox.com \
    --cc=ashok.raj@intel.com \
    --cc=asit.k.mallick@intel.com \
    --cc=bhelgaas@google.com \
    --cc=catalin.marinas@arm.com \
    --cc=davem@davemloft.net \
    --cc=dingtianhong@huawei.com \
    --cc=gabriele.paoloni@huawei.com \
    --cc=ganeshgr@chelsio.com \
    --cc=helgaas@kernel.org \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=l.stach@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=mark.rutland@arm.com \
    --cc=netdev@vger.kernel.org \
    --cc=okaya@codeaurora.org \
    --cc=patrick.j.cramer@intel.com \
    --cc=robin.murphy@arm.com \
    --cc=werner@chelsio.com \
    --cc=will.deacon@arm.com \
    /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.