From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56799) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZD8Bj-0006YQ-SS for qemu-devel@nongnu.org; Thu, 09 Jul 2015 05:32:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZD8Bg-0005Im-F7 for qemu-devel@nongnu.org; Thu, 09 Jul 2015 05:32:15 -0400 Received: from e28smtp04.in.ibm.com ([122.248.162.4]:59961) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZD8Bf-0005Gg-QX for qemu-devel@nongnu.org; Thu, 09 Jul 2015 05:32:12 -0400 Received: from /spool/local by e28smtp04.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 9 Jul 2015 15:02:04 +0530 Received: from d28relay03.in.ibm.com (d28relay03.in.ibm.com [9.184.220.60]) by d28dlp03.in.ibm.com (Postfix) with ESMTP id 45A941258073 for ; Thu, 9 Jul 2015 15:04:50 +0530 (IST) Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66]) by d28relay03.in.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t699UwcU46792920 for ; Thu, 9 Jul 2015 15:01:59 +0530 Received: from d28av04.in.ibm.com (localhost [127.0.0.1]) by d28av04.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t699UaMK028761 for ; Thu, 9 Jul 2015 15:00:36 +0530 Message-ID: <559E3F20.1070405@linux.vnet.ibm.com> Date: Thu, 09 Jul 2015 17:30:08 +0800 From: zyimin MIME-Version: 1.0 References: <1436334295-6012-1-git-send-email-zyimin@linux.vnet.ibm.com> <1436334295-6012-2-git-send-email-zyimin@linux.vnet.ibm.com> <20150709074824.GA10208@redhat.com> In-Reply-To: <20150709074824.GA10208@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v4 1/1] s390 pci infrastructure modelling List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: cornelia.huck@de.ibm.com, borntraeger@de.ibm.com, qemu-devel@nongnu.org, agraf@suse.de On 7/9/2015 3:48 PM, Michael S. Tsirkin wrote: > On Wed, Jul 08, 2015 at 01:44:55PM +0800, Yi Min Zhao wrote: >> @@ -588,9 +606,172 @@ static const TypeInfo s390_pcihost_info = { >> } >> }; >> >> +static void s390_pci_device_hot_plug(HotplugHandler *hotplug_dev, >> + DeviceState *dev, Error **errp) >> +{ >> + S390PCIBusDevice *zpci = S390_PCI_DEVICE(dev); >> + S390PCIBusDevice *tmp; >> + S390PCIFacility *f = S390_PCI_FACILITY( >> + object_resolve_path(TYPE_S390_PCI_FACILITY, NULL)); >> + >> + QTAILQ_FOREACH(tmp, &f->zpci_list, next) { >> + /* for now, we use fid to sort the list, need to use uid instead >> + * when uid is ready. > What does ready mean in this context? uid is a new feature on s390 arch for pci card management. But support of uid on OS level has not been ready. >> + */ >> + if (tmp->fid > zpci->fid) { >> + break; >> + } >> + } >> + >> + if (tmp) { >> + QTAILQ_INSERT_BEFORE(tmp, zpci, next); >> + } else { >> + QTAILQ_INSERT_TAIL(&f->zpci_list, zpci, next); >> + } >> + f->token_valid = false; >> +} > This still means hotplug will change the index. > How about just using an explicit property to set the index? > Harder to use but keeps code simple. > These code were written by Hong Bo. I think he wants to use zpci->fid to sort pci cards. "index" what you talked is the order of hotplug? right? If it is, I think this code actually can change the index.