[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 13/25] s390x/pci: refactor s390_pci_find_dev_by_fh
From: |
Cornelia Huck |
Subject: |
[Qemu-devel] [PULL 13/25] s390x/pci: refactor s390_pci_find_dev_by_fh |
Date: |
Mon, 11 Jul 2016 10:09:00 +0200 |
From: Yi Min Zhao <address@hidden>
Because this function is called very frequently, we should use a more
effective way to find the zpci device. So we use the FH's index to get
the device directly.
Signed-off-by: Yi Min Zhao <address@hidden>
Reviewed-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
---
hw/s390x/s390-pci-bus.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index 7111587..1b83772 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -198,19 +198,12 @@ S390PCIBusDevice *s390_pci_find_dev_by_idx(uint32_t idx)
S390PCIBusDevice *s390_pci_find_dev_by_fh(uint32_t fh)
{
- S390PCIBusDevice *pbdev;
- int i;
S390pciState *s = s390_get_phb();
+ S390PCIBusDevice *pbdev;
- if (!fh) {
- return NULL;
- }
-
- for (i = 0; i < PCI_SLOT_MAX; i++) {
- pbdev = &s->pbdev[i];
- if (pbdev->fh == fh) {
- return pbdev;
- }
+ pbdev = &s->pbdev[fh & FH_MASK_INDEX];
+ if (pbdev->fh != 0 && pbdev->fh == fh) {
+ return pbdev;
}
return NULL;
--
2.9.0
- [Qemu-devel] [PULL 20/25] s390x/pci: add checkings in CLP_SET_PCI_FN, (continued)
- [Qemu-devel] [PULL 20/25] s390x/pci: add checkings in CLP_SET_PCI_FN, Cornelia Huck, 2016/07/11
- [Qemu-devel] [PULL 18/25] s390x/pci: enable uid-checking, Cornelia Huck, 2016/07/11
- [Qemu-devel] [PULL 11/25] s390x/pci: write fid in CLP_QUERY_PCI_FN, Cornelia Huck, 2016/07/11
- [Qemu-devel] [PULL 16/25] s390x/pci: introduce S390PCIIOMMU, Cornelia Huck, 2016/07/11
- [Qemu-devel] [PULL 21/25] s390x/pci: refactor s390_pci_find_dev_by_idx, Cornelia Huck, 2016/07/11
- [Qemu-devel] [PULL 10/25] s390x/pci: acceleration for getting S390pciState, Cornelia Huck, 2016/07/11
- [Qemu-devel] [PULL 24/25] s390x/pci: replace fid with idx in msg data of msix, Cornelia Huck, 2016/07/11
- [Qemu-devel] [PULL 07/25] s390x/css: Factor out virtual css bridge and bus, Cornelia Huck, 2016/07/11
- [Qemu-devel] [PULL 22/25] s390x/pci: refactor list_pci, Cornelia Huck, 2016/07/11
- [Qemu-devel] [PULL 25/25] s390x/pci: make hot-unplug handler smoother, Cornelia Huck, 2016/07/11
- [Qemu-devel] [PULL 13/25] s390x/pci: refactor s390_pci_find_dev_by_fh,
Cornelia Huck <=
- Re: [Qemu-devel] [PULL 00/25] s390x patches for 2.7, Peter Maydell, 2016/07/12