From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MGCA2-0005go-QS for qemu-devel@nongnu.org; Mon, 15 Jun 2009 09:23:42 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MGC9x-0005f1-N2 for qemu-devel@nongnu.org; Mon, 15 Jun 2009 09:23:41 -0400 Received: from [199.232.76.173] (port=48062 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MGC9x-0005eo-65 for qemu-devel@nongnu.org; Mon, 15 Jun 2009 09:23:37 -0400 Received: from qw-out-1920.google.com ([74.125.92.144]:23751) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MGC9w-0003NR-R7 for qemu-devel@nongnu.org; Mon, 15 Jun 2009 09:23:37 -0400 Received: by qw-out-1920.google.com with SMTP id 4so1782200qwk.4 for ; Mon, 15 Jun 2009 06:23:36 -0700 (PDT) Message-ID: <4A364B53.9080007@codemonkey.ws> Date: Mon, 15 Jun 2009 08:23:31 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: Configuration vs. compat hints [was Re: [Qemu-devel] [PATCHv3 03/13] qemu: add routines to manage PCI capabilities] References: <1244821292.30522.56.camel@blaa> <4A327E4A.7010300@codemonkey.ws> <1244825303.26769.19.camel@blaa> <20090614095016.GA7560@redhat.com> <1245056916.6891.31.camel@blaa> <4A3613EC.6030608@redhat.com> <20090615103249.GB6351@redhat.com> <4A363012.8050409@redhat.com> <20090615114858.GG6351@redhat.com> <4A3636FA.1040609@redhat.com> <20090615124101.GH6351@redhat.com> <4A364381.401@redhat.com> <4A364401.6010500@codemonkey.ws> <4A3647FB.9010808@redhat.com> In-Reply-To: <4A3647FB.9010808@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: Carsten Otte , Rusty Russell , kvm@vger.kernel.org, Mark McLoughlin , Glauber Costa , "Michael S. Tsirkin" , qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org, Blue Swirl , Christian Borntraeger , Paul Brook Avi Kivity wrote: > On 06/15/2009 03:52 PM, Anthony Liguori wrote: >> Avi Kivity wrote: >>> On 06/15/2009 03:41 PM, Michael S. Tsirkin wrote: >>>> We should just tell the user which slots are open. >>>> This might be tricky if the config is passed in with the command >>>> line >>>> flags. >>> >>> qemu -show-available-pci-slots >> >> Why does the user care? >> >> Let QEMU allocate the PCI slot, then query it to see what slot it >> assigned and remember that. > > It's a roundabout way of doing things. Having libvirt do PCI slot allocation scares me. It assumes we can return a whitelist of available slots, and then let libvirt just randomly assign things. There's knowledge though in slot assignment that's board-specific. For instance, depending on how many LNK lines you have, you may want to put things in slots in such a way to optimize interrupt balancing or something like that. Some platforms have quirks about expecting a particular slot to have a particular device. It's still an optimal device but it has to be in that slot. You can't really express that via an available slot list. > Non-virtio, as well. But we can't make that the default, so the user > will have to specify this anyway. > > Given that you can't hotunplug individual functions, the user will > have to specify exactly how functions are aggregated into devices. My > recommendation would be for a GUI to allow the user to select a 'quad > port virtio NIC' or 'dual port virtio scsi controller' rather than > trying to do anything automatic. Yeah, I haven't thought much about that. Regards, Anthony Liguori