On 28/09/2017 23:35, Marcelo Tosatti wrote: > On Thu, Sep 28, 2017 at 09:22:02AM +0200, Paolo Bonzini wrote: >> On 28/09/2017 02:44, Marcelo Tosatti wrote: >>>> Again: if you have many interruptions, it's not a flaw in KVM or QEMU's >>>> design, it's just that someone is doing something stupid. It could be >>>> the guest (e.g. unnecessary devices or daemons as in the example above), >>>> QEMU (e.g. the RTC emulation used to trigger QEMU timers twice a second >>>> just to increment the clock), or the management (e.g. polling "is the VM >>>> running" 50 times per second). But it can and must be fixed. >>> >>> No, i mean you can run anything in VCPU-0 (it is valid to do that). >>> And that "anything" can generate 1 interrupt per second, 1000 or 10.000 >>> interrupts per second. Which are all valid things to be done. >>> >>> "I can't run a kernel compilation on VCPU-0 because that will impact >>> latency on the realtime VCPU-1" is not acceptable. >> >> That shouldn't happen. Sources of frequent interruptions have all been >> fixed or moved outside the main thread. >> >> If there are more left, report the bug and we'll see how to fix it in >> userspace. > > What should not happen? The generation of 10.000 interrupts per second > (say disk IO completion) on a given workload ? If you know you have this kind disk workload, you must use virtio-blk or virtio-scsi with iothreads and place the iothreads on their own physical CPUs. Among "run arbitrary workloads", "run real-time workloads", "pack stuff into as few physical CPUs as possible", you can only pick two. Paolo