From: Alexander Duyck <alexander.duyck@gmail.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [RFC Patch 01/12] PCI: Add virtfn_index for struct pci_device
Date: Wed, 21 Oct 2015 11:07:22 -0700 [thread overview]
Message-ID: <5627D45A.4040502@gmail.com> (raw)
In-Reply-To: <1445445464-5056-2-git-send-email-tianyu.lan@intel.com>
On 10/21/2015 09:37 AM, Lan Tianyu wrote:
> Add "virtfn_index" member in the struct pci_device to record VF sequence
> of PF. This will be used in the VF sysfs node handle.
>
> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
> ---
> drivers/pci/iov.c | 1 +
> include/linux/pci.h | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
> index ee0ebff..065b6bb 100644
> --- a/drivers/pci/iov.c
> +++ b/drivers/pci/iov.c
> @@ -136,6 +136,7 @@ static int virtfn_add(struct pci_dev *dev, int id, int reset)
> virtfn->physfn = pci_dev_get(dev);
> virtfn->is_virtfn = 1;
> virtfn->multifunction = 0;
> + virtfn->virtfn_index = id;
>
> for (i = 0; i < PCI_SRIOV_NUM_BARS; i++) {
> res = &dev->resource[i + PCI_IOV_RESOURCES];
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index 353db8d..85c5531 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -356,6 +356,7 @@ struct pci_dev {
> unsigned int io_window_1k:1; /* Intel P2P bridge 1K I/O windows */
> unsigned int irq_managed:1;
> pci_dev_flags_t dev_flags;
> + unsigned int virtfn_index;
> atomic_t enable_cnt; /* pci_enable_device has been called */
>
> u32 saved_config_space[16]; /* config space saved at suspend time */
>
Can't you just calculate the VF index based on the VF BDF number
combined with the information in the PF BDF number and VF
offset/stride? Seems kind of pointless to add a variable that is only
used by one driver and is in a slowpath when you can just calculate it
pretty quickly.
- Alex
WARNING: multiple messages have this Message-ID (diff)
From: Alexander Duyck <alexander.duyck@gmail.com>
To: Lan Tianyu <tianyu.lan@intel.com>,
bhelgaas@google.com, carolyn.wyborny@intel.com,
donald.c.skidmore@intel.com, eddie.dong@intel.com,
nrupal.jani@intel.com, yang.z.zhang@intel.com, agraf@suse.de,
kvm@vger.kernel.org, pbonzini@redhat.com, qemu-devel@nongnu.org,
emil.s.tantilov@intel.com, intel-wired-lan@lists.osuosl.org,
jeffrey.t.kirsher@intel.com, jesse.brandeburg@intel.com,
john.ronciak@intel.com, linux-kernel@vger.kernel.org,
linux-pci@vger.kernel.org, matthew.vick@intel.com,
mitch.a.williams@intel.com, netdev@vger.kernel.org,
shannon.nelson@intel.com
Subject: Re: [RFC Patch 01/12] PCI: Add virtfn_index for struct pci_device
Date: Wed, 21 Oct 2015 11:07:22 -0700 [thread overview]
Message-ID: <5627D45A.4040502@gmail.com> (raw)
In-Reply-To: <1445445464-5056-2-git-send-email-tianyu.lan@intel.com>
On 10/21/2015 09:37 AM, Lan Tianyu wrote:
> Add "virtfn_index" member in the struct pci_device to record VF sequence
> of PF. This will be used in the VF sysfs node handle.
>
> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
> ---
> drivers/pci/iov.c | 1 +
> include/linux/pci.h | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
> index ee0ebff..065b6bb 100644
> --- a/drivers/pci/iov.c
> +++ b/drivers/pci/iov.c
> @@ -136,6 +136,7 @@ static int virtfn_add(struct pci_dev *dev, int id, int reset)
> virtfn->physfn = pci_dev_get(dev);
> virtfn->is_virtfn = 1;
> virtfn->multifunction = 0;
> + virtfn->virtfn_index = id;
>
> for (i = 0; i < PCI_SRIOV_NUM_BARS; i++) {
> res = &dev->resource[i + PCI_IOV_RESOURCES];
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index 353db8d..85c5531 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -356,6 +356,7 @@ struct pci_dev {
> unsigned int io_window_1k:1; /* Intel P2P bridge 1K I/O windows */
> unsigned int irq_managed:1;
> pci_dev_flags_t dev_flags;
> + unsigned int virtfn_index;
> atomic_t enable_cnt; /* pci_enable_device has been called */
>
> u32 saved_config_space[16]; /* config space saved at suspend time */
>
Can't you just calculate the VF index based on the VF BDF number
combined with the information in the PF BDF number and VF
offset/stride? Seems kind of pointless to add a variable that is only
used by one driver and is in a slowpath when you can just calculate it
pretty quickly.
- Alex
WARNING: multiple messages have this Message-ID (diff)
From: Alexander Duyck <alexander.duyck@gmail.com>
To: Lan Tianyu <tianyu.lan@intel.com>,
bhelgaas@google.com, carolyn.wyborny@intel.com,
donald.c.skidmore@intel.com, eddie.dong@intel.com,
nrupal.jani@intel.com, yang.z.zhang@intel.com, agraf@suse.de,
kvm@vger.kernel.org, pbonzini@redhat.com, qemu-devel@nongnu.org,
emil.s.tantilov@intel.com, intel-wired-lan@lists.osuosl.org,
jeffrey.t.kirsher@intel.com, jesse.brandeburg@intel.com,
john.ronciak@intel.com, linux-kernel@vger.kernel.org,
linux-pci@vger.kernel.org, matthew.vick@intel.com,
mitch.a.williams@intel.com, netdev@vger.kernel.org,
shannon.nelson@intel.com
Subject: Re: [Qemu-devel] [RFC Patch 01/12] PCI: Add virtfn_index for struct pci_device
Date: Wed, 21 Oct 2015 11:07:22 -0700 [thread overview]
Message-ID: <5627D45A.4040502@gmail.com> (raw)
In-Reply-To: <1445445464-5056-2-git-send-email-tianyu.lan@intel.com>
On 10/21/2015 09:37 AM, Lan Tianyu wrote:
> Add "virtfn_index" member in the struct pci_device to record VF sequence
> of PF. This will be used in the VF sysfs node handle.
>
> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
> ---
> drivers/pci/iov.c | 1 +
> include/linux/pci.h | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
> index ee0ebff..065b6bb 100644
> --- a/drivers/pci/iov.c
> +++ b/drivers/pci/iov.c
> @@ -136,6 +136,7 @@ static int virtfn_add(struct pci_dev *dev, int id, int reset)
> virtfn->physfn = pci_dev_get(dev);
> virtfn->is_virtfn = 1;
> virtfn->multifunction = 0;
> + virtfn->virtfn_index = id;
>
> for (i = 0; i < PCI_SRIOV_NUM_BARS; i++) {
> res = &dev->resource[i + PCI_IOV_RESOURCES];
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index 353db8d..85c5531 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -356,6 +356,7 @@ struct pci_dev {
> unsigned int io_window_1k:1; /* Intel P2P bridge 1K I/O windows */
> unsigned int irq_managed:1;
> pci_dev_flags_t dev_flags;
> + unsigned int virtfn_index;
> atomic_t enable_cnt; /* pci_enable_device has been called */
>
> u32 saved_config_space[16]; /* config space saved at suspend time */
>
Can't you just calculate the VF index based on the VF BDF number
combined with the information in the PF BDF number and VF
offset/stride? Seems kind of pointless to add a variable that is only
used by one driver and is in a slowpath when you can just calculate it
pretty quickly.
- Alex
next prev parent reply other threads:[~2015-10-21 18:07 UTC|newest]
Thread overview: 171+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-21 16:37 [Intel-wired-lan] [RFC Patch 00/12] IXGBE: Add live migration support for SRIOV NIC Lan Tianyu
2015-10-21 16:37 ` [Qemu-devel] " Lan Tianyu
2015-10-21 16:37 ` Lan Tianyu
2015-10-21 16:37 ` [Intel-wired-lan] [RFC Patch 01/12] PCI: Add virtfn_index for struct pci_device Lan Tianyu
2015-10-21 16:37 ` [Qemu-devel] " Lan Tianyu
2015-10-21 16:37 ` Lan Tianyu
2015-10-21 18:07 ` Alexander Duyck [this message]
2015-10-21 18:07 ` [Qemu-devel] " Alexander Duyck
2015-10-21 18:07 ` Alexander Duyck
2015-10-24 14:46 ` [Intel-wired-lan] " Lan, Tianyu
2015-10-24 14:46 ` [Qemu-devel] " Lan, Tianyu
2015-10-24 14:46 ` Lan, Tianyu
2015-10-21 16:37 ` [Intel-wired-lan] [RFC Patch 02/12] IXGBE: Add new mail box event to restore VF status in the PF driver Lan Tianyu
2015-10-21 16:37 ` [Qemu-devel] " Lan Tianyu
2015-10-21 16:37 ` Lan Tianyu
2015-10-21 20:34 ` [Intel-wired-lan] " Alexander Duyck
2015-10-21 20:34 ` [Qemu-devel] " Alexander Duyck
2015-10-21 20:34 ` Alexander Duyck
2015-10-21 16:37 ` [Intel-wired-lan] [RFC Patch 03/12] IXGBE: Add sysfs interface for Qemu to migrate " Lan Tianyu
2015-10-21 16:37 ` [Qemu-devel] " Lan Tianyu
2015-10-21 16:37 ` Lan Tianyu
2015-10-21 20:45 ` [Intel-wired-lan] " Alexander Duyck
2015-10-21 20:45 ` [Qemu-devel] " Alexander Duyck
2015-10-21 20:45 ` Alexander Duyck
2015-10-25 7:21 ` [Intel-wired-lan] " Lan, Tianyu
2015-10-25 7:21 ` [Qemu-devel] " Lan, Tianyu
2015-10-25 7:21 ` Lan, Tianyu
2015-10-21 16:37 ` [Intel-wired-lan] [RFC Patch 04/12] IXGBE: Add ixgbe_ping_vf() to notify a specified VF via mailbox msg Lan Tianyu
2015-10-21 16:37 ` [Qemu-devel] " Lan Tianyu
2015-10-21 16:37 ` Lan Tianyu
2015-10-21 16:37 ` [Intel-wired-lan] [RFC Patch 05/12] IXGBE: Add new sysfs interface of "notify_vf" Lan Tianyu
2015-10-21 16:37 ` [Qemu-devel] " Lan Tianyu
2015-10-21 16:37 ` Lan Tianyu
2015-10-21 20:52 ` [Intel-wired-lan] " Alexander Duyck
2015-10-21 20:52 ` [Qemu-devel] " Alexander Duyck
2015-10-21 20:52 ` Alexander Duyck
2015-10-22 12:51 ` [Intel-wired-lan] [Qemu-devel] " Michael S. Tsirkin
2015-10-22 12:51 ` Michael S. Tsirkin
2015-10-22 12:51 ` Michael S. Tsirkin
2015-10-22 12:51 ` [Qemu-devel] " Michael S. Tsirkin
2015-10-24 15:43 ` [Intel-wired-lan] " Lan, Tianyu
2015-10-24 15:43 ` [Qemu-devel] " Lan, Tianyu
2015-10-24 15:43 ` Lan, Tianyu
2015-10-25 6:03 ` [Intel-wired-lan] " Alexander Duyck
2015-10-25 6:03 ` [Qemu-devel] " Alexander Duyck
2015-10-25 6:03 ` Alexander Duyck
2015-10-25 6:45 ` [Intel-wired-lan] " Lan, Tianyu
2015-10-25 6:45 ` [Qemu-devel] " Lan, Tianyu
2015-10-25 6:45 ` Lan, Tianyu
2015-10-21 16:37 ` [Intel-wired-lan] [RFC Patch 06/12] IXGBEVF: Add self emulation layer Lan Tianyu
2015-10-21 16:37 ` [Qemu-devel] " Lan Tianyu
2015-10-21 16:37 ` Lan Tianyu
2015-10-21 20:58 ` [Intel-wired-lan] " Alexander Duyck
2015-10-21 20:58 ` [Qemu-devel] " Alexander Duyck
2015-10-21 20:58 ` Alexander Duyck
2015-10-22 12:50 ` [Intel-wired-lan] [Qemu-devel] " Michael S. Tsirkin
2015-10-22 12:50 ` Michael S. Tsirkin
2015-10-22 12:50 ` Michael S. Tsirkin
2015-10-22 15:50 ` [Intel-wired-lan] " Alexander Duyck
2015-10-22 15:50 ` Alexander Duyck
2015-10-22 15:50 ` Alexander Duyck
2015-10-21 16:37 ` [Intel-wired-lan] [RFC Patch 07/12] IXGBEVF: Add new mail box event for migration Lan Tianyu
2015-10-21 16:37 ` [Qemu-devel] " Lan Tianyu
2015-10-21 16:37 ` Lan Tianyu
2015-10-21 16:37 ` [Intel-wired-lan] [RFC Patch 08/12] IXGBEVF: Rework code of finding the end transmit desc of package Lan Tianyu
2015-10-21 16:37 ` [Qemu-devel] " Lan Tianyu
2015-10-21 16:37 ` Lan Tianyu
2015-10-21 21:14 ` [Intel-wired-lan] " Alexander Duyck
2015-10-21 21:14 ` [Qemu-devel] " Alexander Duyck
2015-10-21 21:14 ` Alexander Duyck
2015-10-24 16:12 ` [Intel-wired-lan] " Lan, Tianyu
2015-10-24 16:12 ` [Qemu-devel] " Lan, Tianyu
2015-10-24 16:12 ` Lan, Tianyu
2015-10-22 12:58 ` [Intel-wired-lan] " Michael S. Tsirkin
2015-10-22 12:58 ` [Qemu-devel] " Michael S. Tsirkin
2015-10-22 12:58 ` Michael S. Tsirkin
2015-10-24 16:08 ` [Intel-wired-lan] " Lan, Tianyu
2015-10-24 16:08 ` [Qemu-devel] " Lan, Tianyu
2015-10-24 16:08 ` Lan, Tianyu
2015-10-21 16:37 ` [Intel-wired-lan] [RFC Patch 09/12] IXGBEVF: Add live migration support for VF driver Lan Tianyu
2015-10-21 16:37 ` [Qemu-devel] " Lan Tianyu
2015-10-21 16:37 ` Lan Tianyu
2015-10-21 21:48 ` [Intel-wired-lan] " Alexander Duyck
2015-10-21 21:48 ` [Qemu-devel] " Alexander Duyck
2015-10-21 21:48 ` Alexander Duyck
2015-10-22 12:46 ` [Intel-wired-lan] " Michael S. Tsirkin
2015-10-22 12:46 ` [Qemu-devel] " Michael S. Tsirkin
2015-10-22 12:46 ` Michael S. Tsirkin
2015-10-21 16:37 ` [Intel-wired-lan] [RFC Patch 10/12] IXGBEVF: Add lock to protect tx/rx ring operation Lan Tianyu
2015-10-21 16:37 ` [Qemu-devel] " Lan Tianyu
2015-10-21 16:37 ` Lan Tianyu
2015-10-21 21:55 ` [Intel-wired-lan] " Alexander Duyck
2015-10-21 21:55 ` [Qemu-devel] " Alexander Duyck
2015-10-21 21:55 ` Alexander Duyck
2015-10-22 12:40 ` [Intel-wired-lan] " Michael S. Tsirkin
2015-10-22 12:40 ` [Qemu-devel] " Michael S. Tsirkin
2015-10-22 12:40 ` Michael S. Tsirkin
2015-10-21 16:37 ` [Intel-wired-lan] [RFC Patch 11/12] IXGBEVF: Migrate VF statistic data Lan Tianyu
2015-10-21 16:37 ` [Qemu-devel] " Lan Tianyu
2015-10-21 16:37 ` Lan Tianyu
2015-10-22 12:36 ` [Intel-wired-lan] " Michael S. Tsirkin
2015-10-22 12:36 ` [Qemu-devel] " Michael S. Tsirkin
2015-10-22 12:36 ` Michael S. Tsirkin
2015-10-22 12:36 ` Michael S. Tsirkin
2015-10-21 16:37 ` [Intel-wired-lan] [RFC Patch 12/12] IXGBEVF: Track dma dirty pages Lan Tianyu
2015-10-21 16:37 ` [Qemu-devel] " Lan Tianyu
2015-10-21 16:37 ` Lan Tianyu
2015-10-22 12:30 ` [Intel-wired-lan] " Michael S. Tsirkin
2015-10-22 12:30 ` [Qemu-devel] " Michael S. Tsirkin
2015-10-22 12:30 ` Michael S. Tsirkin
2015-10-21 18:45 ` [Intel-wired-lan] [RFC Patch 00/12] IXGBE: Add live migration support for SRIOV NIC Or Gerlitz
2015-10-21 18:45 ` [Qemu-devel] " Or Gerlitz
2015-10-21 18:45 ` Or Gerlitz
2015-10-21 19:20 ` [Intel-wired-lan] " Alex Williamson
2015-10-21 19:20 ` [Qemu-devel] " Alex Williamson
2015-10-21 19:20 ` Alex Williamson
2015-10-21 23:26 ` [Intel-wired-lan] " Alexander Duyck
2015-10-21 23:26 ` [Qemu-devel] " Alexander Duyck
2015-10-21 23:26 ` Alexander Duyck
2015-10-22 12:32 ` [Intel-wired-lan] [Qemu-devel] " Michael S. Tsirkin
2015-10-22 12:32 ` Michael S. Tsirkin
2015-10-22 12:32 ` Michael S. Tsirkin
2015-10-22 13:01 ` [Intel-wired-lan] " Alex Williamson
2015-10-22 13:01 ` Alex Williamson
2015-10-22 13:01 ` Alex Williamson
2015-10-22 13:06 ` [Intel-wired-lan] " Michael S. Tsirkin
2015-10-22 13:06 ` Michael S. Tsirkin
2015-10-22 13:06 ` Michael S. Tsirkin
2015-10-22 15:58 ` [Intel-wired-lan] " Or Gerlitz
2015-10-22 15:58 ` [Qemu-devel] " Or Gerlitz
2015-10-22 15:58 ` Or Gerlitz
2015-10-22 16:17 ` [Intel-wired-lan] " Alex Williamson
2015-10-22 16:17 ` [Qemu-devel] " Alex Williamson
2015-10-22 16:17 ` Alex Williamson
2015-10-22 12:55 ` [Intel-wired-lan] [Qemu-devel] " Michael S. Tsirkin
2015-10-22 12:55 ` Michael S. Tsirkin
2015-10-22 12:55 ` Michael S. Tsirkin
2015-10-23 18:36 ` [Intel-wired-lan] " Alexander Duyck
2015-10-23 18:36 ` [Qemu-devel] " Alexander Duyck
2015-10-23 18:36 ` Alexander Duyck
2015-10-23 19:05 ` [Intel-wired-lan] " Alex Williamson
2015-10-23 19:05 ` [Qemu-devel] " Alex Williamson
2015-10-23 19:05 ` Alex Williamson
2015-10-23 19:05 ` Alex Williamson
2015-10-23 20:01 ` [Intel-wired-lan] " Alexander Duyck
2015-10-23 20:01 ` [Qemu-devel] " Alexander Duyck
2015-10-23 20:01 ` Alexander Duyck
2015-10-26 5:36 ` [Intel-wired-lan] " Lan Tianyu
2015-10-26 5:36 ` [Qemu-devel] " Lan Tianyu
2015-10-26 5:36 ` Lan Tianyu
2015-10-26 15:03 ` [Intel-wired-lan] " Alexander Duyck
2015-10-26 15:03 ` [Qemu-devel] " Alexander Duyck
2015-10-26 15:03 ` Alexander Duyck
2015-10-29 6:12 ` [Intel-wired-lan] " Lan Tianyu
2015-10-29 6:12 ` [Qemu-devel] " Lan Tianyu
2015-10-29 6:12 ` Lan Tianyu
2015-10-29 6:58 ` [Intel-wired-lan] " Alexander Duyck
2015-10-29 6:58 ` [Qemu-devel] " Alexander Duyck
2015-10-29 6:58 ` Alexander Duyck
2015-10-29 8:33 ` [Intel-wired-lan] " Lan Tianyu
2015-10-29 8:33 ` [Qemu-devel] " Lan Tianyu
2015-10-29 8:33 ` Lan Tianyu
2015-10-29 16:17 ` [Intel-wired-lan] " Alexander Duyck
2015-10-29 16:17 ` [Qemu-devel] " Alexander Duyck
2015-10-29 16:17 ` Alexander Duyck
2015-10-30 2:41 ` [Intel-wired-lan] " Lan Tianyu
2015-10-30 2:41 ` [Qemu-devel] " Lan Tianyu
2015-10-30 2:41 ` Lan Tianyu
2015-10-30 18:04 ` [Intel-wired-lan] " Alexander Duyck
2015-10-30 18:04 ` [Qemu-devel] " Alexander Duyck
2015-10-30 18:04 ` Alexander Duyck
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=5627D45A.4040502@gmail.com \
--to=alexander.duyck@gmail.com \
--cc=intel-wired-lan@osuosl.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.