Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752031AbdI2ISc (ORCPT ); Fri, 29 Sep 2017 04:18:32 -0400 Received: from mx1.redhat.com ([209.132.183.28]:36162 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750877AbdI2IS3 (ORCPT ); Fri, 29 Sep 2017 04:18:29 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 22FBE81DE1 Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=pbonzini@redhat.com Subject: Re: [patch 3/3] x86: kvm guest side support for KVM_HC_RT_PRIO hypercall\ To: Marcelo Tosatti Cc: Peter Zijlstra , Konrad Rzeszutek Wilk , mingo@redhat.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Thomas Gleixner References: <951aaa3f-b20d-6f67-9454-f193f4445fc7@redhat.com> <20170923134114.qdfdegrd6afqrkut@hirez.programming.kicks-ass.net> <855950672.7912001.1506258344142.JavaMail.zimbra@redhat.com> <20170925025751.GB30813@amt.cnet> <20170925091316.bnwpiscs2bvpdxk5@hirez.programming.kicks-ass.net> <00ff8cbf-4e41-a950-568c-3bd95e155d4b@redhat.com> <20170926224925.GA9119@amt.cnet> <6f4afefd-8726-13ff-371e-0d3896b4cf6a@redhat.com> <20170928004452.GA30040@amt.cnet> <10635834-459a-9ec1-624d-febd6b5af243@redhat.com> <20170928213508.GA14053@amt.cnet> From: Paolo Bonzini Message-ID: <06b714d8-7b66-6e03-a992-e359241abf84@redhat.com> Date: Fri, 29 Sep 2017 10:18:25 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <20170928213508.GA14053@amt.cnet> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Fri, 29 Sep 2017 08:18:29 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1591 Lines: 34 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