On Mon, Jul 10, 2017 at 05:27:15PM +0000, Nagarajan, Padhu (HPE Storage) wrote: > Posted this in qemu-discuss and did not get a response. Hoping that someone > here might be able to offer insights. > > I was running an 8K random-read fio benchmark inside the guest with > iodepth=32. The device used inside the guest for the test was a virtio-blk > device with iothread enabled, mapped on to a raw block device on the host. > While this workload was running, I took a snapshot of the CPU utilization > reported by the host and the guest. The guest had 4 cores. top inside guest > shows 3 idle cores and one core being 74% utilized by fio (active on core 3). > The host had 12 cores and three cores were completely consumed by three qemu > threads. top inside host shows three qemu threads, each utilizing the CPU > core to a near 100%. These threads are "CPU 1/KVM", "CPU 3/KVM" and "IO > iothread1". The CPU utilization story on the host side is the same, even if I > run a light fio workload inside the guest (for ex. iodepth=1). > > Why do I see two "CPU/KVM" threads occupying 100% CPU, even though only one > core inside the guest is being utilized ? Note that I had 'accel=kvm' turned > on for the guest.
fio might be submitting I/O requests on one vcpu and the completion interrupts are processed on another vcpu. To discuss further, please post: 1. Full QEMU command-line 2. Full fio command-line and job file (if applicable) 3. Output of cat /proc/interrupts inside the guest after running the benchmark
signature.asc
Description: PGP signature