lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 25 Aug 2020 17:25:26 -0400 From: Peter Xu <peterx@...hat.com> To: Vitaly Kuznetsov <vkuznets@...hat.com> Cc: kvm@...r.kernel.org, Paolo Bonzini <pbonzini@...hat.com>, Sean Christopherson <sean.j.christopherson@...el.com>, Wanpeng Li <wanpengli@...cent.com>, Jim Mattson <jmattson@...gle.com>, Michael Tsirkin <mst@...hat.com>, Julia Suvorova <jsuvorov@...hat.com>, Andy Lutomirski <luto@...nel.org>, Andrew Jones <drjones@...hat.com>, linux-kernel@...r.kernel.org Subject: Re: [PATCH v2 0/3] KVM: x86: KVM_MEM_PCI_HOLE memory On Fri, Aug 07, 2020 at 04:12:29PM +0200, Vitaly Kuznetsov wrote: > When testing Linux kernel boot with QEMU q35 VM and direct kernel boot > I observed 8193 accesses to PCI hole memory. When such exit is handled > in KVM without exiting to userspace, it takes roughly 0.000001 sec. > Handling the same exit in userspace is six times slower (0.000006 sec) so > the overal; difference is 0.04 sec. This may be significant for 'microvm' > ideas. Sorry to comment so late, but just curious... have you looked at what's those 8000+ accesses to PCI holes and what they're used for? What I can think of are some port IO reads (e.g. upon vendor ID field) during BIOS to scan the devices attached. Though those should be far less than 8000+, and those should also be pio rather than mmio. If this is only an overhead for virt (since baremetal mmios should be fast), I'm also thinking whether we can make it even better to skip those pci hole reads. Because we know we're virt, so it also gives us possibility that we may provide those information in a better way than reading PCI holes in the guest? Thanks, -- Peter Xu
Powered by blists - more mailing lists