All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yu Zhao <yu.zhao@uniscape.net>
To: Greg KH <greg@kroah.com>, Matthew Wilcox <matthew@wil.cx>
Cc: Anthony Liguori <anthony@codemonkey.ws>,
	"Fischer, Anna" <anna.fischer@hp.com>, H L <swdevyid@yahoo.com>,
	"randy.dunlap@oracle.com" <randy.dunlap@oracle.com>,
	"grundler@parisc-linux.org" <grundler@parisc-linux.org>,
	"Chiang, Alexander" <achiang@hp.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"rdreier@cisco.com" <rdreier@cisco.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"jbarnes@virtuousgeek.org" <jbarnes@virtuousgeek.org>,
	"virtualization@lists.linux-foundation.org" 
	<virtualization@lists.linux-foundation.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"mingo@elte.hu" <mingo@elte.hu>,
	keir.fraser@eu.citrix.com, Leonid.Grossman@neterion.com,
	eddie.dong@intel.com, jun.nakajima@intel.com, avi@redhat.com
Subject: Re: [PATCH 0/16 v6] PCI: Linux kernel SR-IOV support
Date: Fri, 07 Nov 2008 23:17:40 +0800	[thread overview]
Message-ID: <49145C14.1050409@uniscape.net> (raw)
In-Reply-To: <20081107061952.GF3860@kroah.com>

While we are arguing what the software model the SR-IOV should be, let 
me ask two simple questions first:

1, What does the SR-IOV looks like?
2, Why do we need to support it?

I'm sure people have different understandings from their own view 
points. No one is wrong, but, please don't make thing complicated and 
don't ignore user requirements.

PCI SIG and hardware vendors create such thing intending to make 
hardware resource in one PCI device be shared from different software 
instances -- I guess all of us agree with this. No doubt PF is real 
function in the PCI device, but VF is different? No, it also has its own 
Bus, Device and Function numbers, and PCI configuration space and Memory 
Space (MMIO). To be more detailed, it can response to and initiate PCI 
Transaction Layer Protocol packets, which means it can do everything a 
PF can in PCI level. From these obvious behaviors, we can conclude PCI 
SIG model VF as a normal PCI device function, even it's not standalone.

As you know the Linux kernel is the base of various virtual machine 
monitors such as KVM, Xen, OpenVZ and VServer. We need SR-IOV support in 
the kernel because mostly it helps high-end users (IT departments, HPC, 
etc.) to share limited hardware resources among hundreds or even 
thousands virtual machines and hence reduce the cost. How can we make 
these virtual machine monitors utilize the advantage of SR-IOV without 
spending too much effort meanwhile remaining architectural correctness? 
I believe making VF represent as much closer as a normal PCI device 
(struct pci_dev) is the best way in current situation, because this is 
not only what the hardware designers expect us to do but also the usage 
model that KVM, Xen and other VMMs have already supported.

I agree that API in the SR-IOV pacth is arguable and the concerns such 
as lack of PF driver, etc. are also valid. But I personally think these 
stuff are not essential problems to me and other SR-IOV driver 
developers. People can refine things but don't want to recreate things 
in another totally different way especially that way doesn't bring them 
obvious benefits.

As I can see that we are now reaching a point that a decision must be 
made, I know this is such difficult thing in an open and free community 
but fortunately we have a lot of talented and experienced people here. 
So let's make it happen, and keep our loyal users happy!

Thanks,
Yu

  reply	other threads:[~2008-11-07 15:21 UTC|newest]

Thread overview: 244+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-22  8:38 [PATCH 0/16 v6] PCI: Linux kernel SR-IOV support Yu Zhao
2008-10-22  8:40 ` [PATCH 1/16 v6] PCI: remove unnecessary arg of pci_update_resource() Yu Zhao
2008-10-22  8:40 ` Yu Zhao
2008-10-22  8:40 ` [PATCH 2/16 v6] PCI: define PCI resource names in an 'enum' Yu Zhao
2008-10-22 14:24   ` Bjorn Helgaas
2008-10-22 14:44     ` Yu Zhao
2008-10-22 14:44       ` Yu Zhao
2008-10-22 14:51       ` Bjorn Helgaas
2008-10-22 14:51       ` Bjorn Helgaas
2008-10-22 14:53         ` Yu Zhao
2008-10-22 14:53           ` Yu Zhao
2008-10-22 14:24   ` Bjorn Helgaas
2008-11-14  0:43   ` Simon Horman
2008-10-22  8:40 ` Yu Zhao
2008-10-22  8:41 ` [PATCH 3/16 v6] PCI: export __pci_read_base Yu Zhao
2008-10-22  8:41 ` Yu Zhao
2008-10-22  8:41 ` [PATCH 4/16 v6] PCI: make pci_alloc_child_bus() be able to handle NULL bridge Yu Zhao
2008-10-22  8:41 ` Yu Zhao
2008-10-22  8:41 ` [PATCH 5/16 v6] PCI: add a wrapper for resource_alignment() Yu Zhao
2008-10-22  8:41 ` Yu Zhao
2008-10-22  8:42 ` [PATCH 6/16 v6] PCI: add a new function to map BAR offset Yu Zhao
2008-10-22  8:42 ` Yu Zhao
2008-10-22  8:42 ` [PATCH 7/16 v6] PCI: cleanup pcibios_allocate_resources() Yu Zhao
2008-10-23  7:10   ` Yinghai Lu
2008-10-23  6:50     ` Yu Zhao
2008-10-23  6:50     ` Yu Zhao
2008-10-23  7:10   ` Yinghai Lu
2008-10-22  8:42 ` Yu Zhao
2008-10-22  8:43 ` [PATCH 8/16 v6] PCI: add boot options to reassign resources Yu Zhao
2008-10-22 14:35   ` Bjorn Helgaas
2008-10-22 14:35   ` Bjorn Helgaas
2008-10-22 14:49     ` Yu Zhao
2008-10-22 14:49     ` Yu Zhao
2008-10-22  8:43 ` Yu Zhao
2008-10-22  8:43 ` [PATCH 9/16 v6] PCI: add boot option to align MMIO resources Yu Zhao
2008-10-22  8:43 ` Yu Zhao
2008-10-22 14:34   ` Bjorn Helgaas
2008-10-22 14:34   ` Bjorn Helgaas
2008-10-22 14:52     ` Yu Zhao
2008-10-22 14:52     ` Yu Zhao
2008-10-22  8:43 ` [PATCH 10/16 v6] PCI: cleanup pci_bus_add_devices() Yu Zhao
2008-10-22  8:43 ` Yu Zhao
2008-10-22  8:44 ` [PATCH 11/16 v6] PCI: split a new function from pci_bus_add_devices() Yu Zhao
2008-10-22  8:44 ` Yu Zhao
2008-10-22  8:44 ` [PATCH 12/16 v6] PCI: support the SR-IOV capability Yu Zhao
2008-10-22  8:44 ` Yu Zhao
2008-10-22  8:44 ` [PATCH 13/16 v6] PCI: reserve bus range for SR-IOV device Yu Zhao
2008-10-22  8:44 ` Yu Zhao
2008-10-22  8:45 ` [PATCH 14/16 v6] PCI: document for SR-IOV user and developer Yu Zhao
2008-10-22  8:45 ` Yu Zhao
2008-10-22  8:45 ` [PATCH 15/16 v6] PCI: document the SR-IOV sysfs entries Yu Zhao
2008-10-22  8:45 ` Yu Zhao
2008-11-06  4:33   ` Greg KH
2008-11-06  4:33   ` Greg KH
2008-11-06  4:46     ` Greg KH
2008-11-07  3:01       ` Zhao, Yu
2008-11-07  3:18         ` Greg KH
2008-11-13  6:50           ` Yu Zhao
2008-11-13  6:50           ` Yu Zhao
2008-11-14  0:55             ` Greg KH
2008-11-17  8:09               ` Yu Zhao
2008-11-18 15:05                 ` Greg KH
2008-11-18 15:05                 ` Greg KH
2008-11-18 16:49                 ` Kay Sievers
2008-11-18 16:49                 ` Kay Sievers
2008-11-17  8:09               ` Yu Zhao
2008-11-07  3:18         ` Greg KH
2008-11-07  3:01       ` Zhao, Yu
2008-11-06  4:46     ` Greg KH
2008-10-22  8:45 ` [PATCH 16/16 v6] PCI: document the new PCI boot parameters Yu Zhao
2008-10-22  8:45 ` Yu Zhao
2008-10-22 14:27   ` Bjorn Helgaas
2008-10-22 17:01     ` Randy Dunlap
2008-10-22 17:01     ` Randy Dunlap
2008-10-22 14:27   ` Bjorn Helgaas
2008-11-06  4:32   ` Greg KH
2008-11-06  4:32   ` Greg KH
2008-11-07  2:37     ` Zhao, Yu
2008-11-07  2:37     ` Zhao, Yu
2008-11-07  2:50       ` Greg KH
2008-11-07  3:40         ` Zhao, Yu
2008-11-07  4:17           ` Matthew Wilcox
2008-11-07  4:17           ` Matthew Wilcox
2008-12-11  1:43             ` Yu Zhao
2008-12-11  1:43             ` Yu Zhao
2008-12-11  4:33               ` Grant Grundler
2008-12-11 15:39                 ` H L
2008-12-11 15:39                 ` H L
2008-12-11  4:33               ` Grant Grundler
2008-11-07  6:16           ` Greg KH
2008-11-07  7:50             ` Zhao, Yu
2008-11-07  7:50             ` Zhao, Yu
2008-11-07  8:02               ` Greg KH
2008-11-07  8:02               ` Greg KH
2008-11-07  8:17                 ` Zhao, Yu
2008-11-07  8:24                   ` Greg KH
2008-11-07  8:24                   ` Greg KH
2008-11-07  8:35                     ` Zhao, Yu
2008-11-07  8:35                     ` Zhao, Yu
2008-11-07 18:53                       ` Greg KH
2008-11-07 18:53                       ` Greg KH
2008-11-08  5:00                         ` Yu Zhao
2008-11-08  5:00                         ` Yu Zhao
2008-11-08  5:25                           ` Greg KH
2008-11-08  5:25                           ` Greg KH
2008-11-08  6:05                             ` Yu Zhao
2008-11-08  6:05                             ` Yu Zhao
2008-11-08  5:50                           ` freevanx
2008-11-08  5:54                             ` Greg KH
2008-11-08  5:54                             ` Greg KH
2008-11-07  8:17                 ` Zhao, Yu
2008-11-09 14:19             ` Pavel Machek
2008-11-09 14:34               ` Alexander Graf
2008-11-09 14:34               ` Alexander Graf
2008-11-09 14:19             ` Pavel Machek
2008-11-07  6:16           ` Greg KH
2008-11-07  3:40         ` Zhao, Yu
2008-11-07  2:50       ` Greg KH
2008-11-06  4:48 ` [PATCH 0/16 v6] PCI: Linux kernel SR-IOV support Greg KH
2008-11-06  4:48 ` Greg KH
2008-11-06 15:40   ` H L
2008-11-06 15:40   ` H L
2008-11-06 15:43     ` Greg KH
2008-11-06 16:41       ` H L
2008-11-06 16:41       ` H L
2008-11-06 16:49         ` Greg KH
2008-11-06 16:49         ` Greg KH
2008-11-06 17:38           ` Fischer, Anna
2008-11-06 18:03             ` Greg KH
2008-11-06 18:03             ` Greg KH
2008-11-06 20:04               ` Fischer, Anna
2008-11-06 20:04               ` Fischer, Anna
2008-11-09 12:44               ` Avi Kivity
2008-11-09 19:25                 ` Greg KH
2008-11-09 19:25                 ` Greg KH
2008-11-09 19:37                   ` Avi Kivity
2008-11-09 19:37                     ` Avi Kivity
2008-11-11  6:08                     ` Greg KH
2008-11-11  6:08                     ` Greg KH
2008-11-11  9:00                       ` Avi Kivity
2008-11-11  9:00                         ` Avi Kivity
2008-11-09 12:44               ` Avi Kivity
2008-11-06 18:36             ` Matthew Wilcox
2008-11-06 18:36             ` Matthew Wilcox
2008-11-06 22:38               ` Anthony Liguori
2008-11-06 22:58                 ` Matthew Wilcox
2008-11-07  6:19                   ` Greg KH
2008-11-07  6:19                   ` Greg KH
2008-11-07 15:17                     ` Yu Zhao [this message]
2008-11-07 18:48                       ` Greg KH
2008-11-07 18:48                       ` Greg KH
2008-11-08 11:09                         ` Fischer, Anna
2008-11-08 11:09                           ` Fischer, Anna
2008-11-08 15:37                           ` Leonid Grossman
2008-11-08 15:37                           ` Leonid Grossman
2008-11-08 11:09                         ` Fischer, Anna
2008-11-13  7:49                         ` Yu Zhao
2008-11-13  7:49                         ` Yu Zhao
2008-11-13  7:49                           ` Yu Zhao
2008-11-07 15:17                     ` Yu Zhao
2008-11-09 12:47                   ` Avi Kivity
2008-11-09 12:47                     ` Avi Kivity
2008-11-06 22:58                 ` Matthew Wilcox
2008-11-07  1:52                 ` Dong, Eddie
2008-11-07  1:52                 ` Dong, Eddie
2008-11-07  2:08                 ` Nakajima, Jun
2008-11-07  2:08                 ` Nakajima, Jun
2008-11-07 15:21                 ` Andi Kleen
2008-11-09 12:53                   ` Avi Kivity
2008-11-09 12:53                   ` Avi Kivity
2008-11-07 15:21                 ` Andi Kleen
2008-11-12 22:41                   ` Anthony Liguori
2008-11-12 22:41                   ` Anthony Liguori
2008-11-16 16:04                     ` Avi Kivity
2008-11-17  1:46                       ` Zhao, Yu
2008-11-17  1:46                       ` Zhao, Yu
2008-11-16 16:04                     ` Avi Kivity
2008-11-07 16:01                 ` Yu Zhao
2008-11-07 16:01                 ` Yu Zhao
2008-11-06 22:38               ` Anthony Liguori
2008-11-06 17:38           ` Fischer, Anna
2008-11-06 17:47           ` Matthew Wilcox
2008-11-06 17:53             ` Greg KH
2008-11-06 22:24               ` Simon Horman
2008-11-06 22:24               ` Simon Horman
2008-11-06 22:40               ` Anthony Liguori
2008-11-07  6:17                 ` Greg KH
2008-11-07  6:17                 ` Greg KH
2008-11-07  7:47                   ` Zhao, Yu
2008-11-07  7:47                   ` Zhao, Yu
2008-11-11  0:18                     ` Rusty Russell
2008-11-17 12:01                       ` Yu Zhao
2008-11-17 12:01                       ` Yu Zhao
2008-11-09 12:58                   ` Avi Kivity
2008-11-09 12:58                   ` Avi Kivity
2008-11-09  6:41                 ` Muli Ben-Yehuda
2008-11-09 13:03                   ` Avi Kivity
2008-11-09 13:03                   ` Avi Kivity
2008-11-09  6:41                 ` Muli Ben-Yehuda
2008-11-06 22:40               ` Anthony Liguori
2008-11-06 23:54               ` Chris Wright
2008-11-06 23:54               ` Chris Wright
2008-11-07  6:10                 ` Greg KH
2008-11-07  6:10                 ` Greg KH
2008-11-07  7:06                 ` Zhao, Yu
2008-11-07  7:06                 ` Zhao, Yu
2008-11-07  7:29                   ` Leonid Grossman
2008-11-07  7:29                   ` Leonid Grossman
2008-11-06 17:53             ` Greg KH
2008-11-06 17:47           ` Matthew Wilcox
2008-11-06 18:05           ` H L
2008-11-06 18:05           ` H L
2008-11-06 18:24             ` Greg KH
2008-11-06 21:35               ` Fischer, Anna
2008-11-07  6:18                 ` Greg KH
2008-11-07  6:03               ` Zhao, Yu
2008-11-07  6:03               ` Zhao, Yu
2008-11-06 18:24             ` Greg KH
2008-11-06 16:51       ` git repository for SR-IOV development? H L
2008-11-06 16:51         ` H L
2008-11-06 16:59         ` Greg KH
2008-11-06 19:58           ` H L
2008-11-06 22:56             ` Simon Horman
2008-11-06 22:56               ` Simon Horman
2008-11-06 22:56             ` Simon Horman
2008-11-07  1:58             ` Greg KH
2008-11-07  1:58             ` Greg KH
2008-11-07 13:09               ` Yu Zhao
2008-11-07 13:09               ` Yu Zhao
2008-11-06 19:58           ` H L
2008-11-06 16:59         ` Greg KH
2008-11-06 16:51       ` H L
2008-11-06 15:43     ` [PATCH 0/16 v6] PCI: Linux kernel SR-IOV support Greg KH
2008-11-07  5:18   ` Zhao, Yu
2008-11-07  5:18   ` Zhao, Yu
2008-11-07  6:07     ` Greg KH
2008-11-07  6:07     ` Greg KH
  -- strict thread matches above, loose matches on Subject: below --
2008-10-22  8:38 Yu Zhao
     [not found] <43F901BD926A4E43B106BF17856F07552F2E8F06@orsmsx508.amr.corp.intel.com>
     [not found] ` <9832F13BD22FB94A829F798DA4A82805018C18EE41@pdsmsx503.ccr.corp.intel.com>
     [not found]   ` <43F901BD926A4E43B106BF17856F07552F2E8F20@orsmsx508.amr.corp.intel.com>
     [not found]     ` <491D2F23.1080005@intel.com>
2008-11-14 17:40       ` Greg KH
2008-11-14 17:48         ` Rose, Gregory V
2008-11-14 18:39           ` Greg KH
2008-11-14 18:49             ` Ronciak, John
2008-11-14 19:30               ` Greg KH
2008-11-14 18:53             ` Rose, Gregory V

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=49145C14.1050409@uniscape.net \
    --to=yu.zhao@uniscape.net \
    --cc=Leonid.Grossman@neterion.com \
    --cc=achiang@hp.com \
    --cc=anna.fischer@hp.com \
    --cc=anthony@codemonkey.ws \
    --cc=avi@redhat.com \
    --cc=eddie.dong@intel.com \
    --cc=greg@kroah.com \
    --cc=grundler@parisc-linux.org \
    --cc=jbarnes@virtuousgeek.org \
    --cc=jun.nakajima@intel.com \
    --cc=keir.fraser@eu.citrix.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=mingo@elte.hu \
    --cc=randy.dunlap@oracle.com \
    --cc=rdreier@cisco.com \
    --cc=swdevyid@yahoo.com \
    --cc=virtualization@lists.linux-foundation.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.