[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 0/3] piix_pci: optimize irq data path
From: |
Isaku Yamahata |
Subject: |
[Qemu-devel] [PATCH v3 0/3] piix_pci: optimize irq data path |
Date: |
Sat, 19 Mar 2011 22:24:49 +0900 |
This patch series optimizes irq data path of piix_pci.
So far piix3 tracks each pirq level and checks whether a given pic pins is
asserted by seeing if each pirq is mapped into the pic pin.
This is independent on irq routing, but data path is on slow path.
Given that irq routing is rarely changed and asserting pic pins is on
data path, the path that asserts pic pins should be optimized and
chainging irq routing should be on slow path.
The new behavior with this patch series is to use bitmap which is addressed
by pirq and pic pins with a given irq routing.
When pirq is asserted, the bitmap is set and see if the pic pins is
asserted by checking the bitmaps.
When irq routing is changed, rebuild the bitmap and re-assert pic pins.
Changes v2 -> v3:
- s/dummy_for_save_load_compat/pci_irq_levels_vmstate/g
- move down unused member of pci_irq_levels_vmstate in the structure
for cache efficiency
Changes v1 -> v2:
- addressed review comments.
Isaku Yamahata (3):
pci: add accessor function to get irq levels
piix_pci: eliminate PIIX3State::pci_irq_levels
piix_pci: optimize set irq path
hw/pci.c | 7 +++
hw/pci.h | 1 +
hw/piix_pci.c | 119 +++++++++++++++++++++++++++++++++++++++++++++++---------
3 files changed, 108 insertions(+), 19 deletions(-)
[Qemu-devel] Re: [PATCH v3 3/3] piix_pci: optimize set irq path, Michael S. Tsirkin, 2011/03/21