All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.