diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2016-09-22 16:23:06 +0200 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2016-10-24 15:27:19 +0200 |
| commit | 9a54635dcb51a3fcf7507af630168f514a8cd4e7 (patch) | |
| tree | 522b330a6579147d2d9c65a807ea804b1d48e240 /hw/usb/dev-serial.c | |
| parent | d45fa784cd0c111131696808d1168259d66b7519 (diff) | |
| download | focaccia-qemu-9a54635dcb51a3fcf7507af630168f514a8cd4e7.tar.gz focaccia-qemu-9a54635dcb51a3fcf7507af630168f514a8cd4e7.zip | |
memory: add a per-AddressSpace list of listeners
This speeds up MEMORY_LISTENER_CALL noticeably. Right now, with many PCI devices you have N regions added to M AddressSpaces (M = # PCI devices with bus-master enabled) and each call looks up the whole listener list, with at least M listeners in it. Because most of the regions in N are BARs, which are also roughly proportional to M, the whole thing is O(M^3). This changes it to O(M^2), which is the best we can do without rewriting the whole thing. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/usb/dev-serial.c')
0 files changed, 0 insertions, 0 deletions