Received: by 10.223.164.202 with SMTP id h10csp227768wrb; Mon, 13 Nov 2017 23:59:07 -0800 (PST) X-Google-Smtp-Source: AGs4zMbCTqVHBiDEtETfGx2e3xwG66w3a7MR00QvTz7c2nfW31uSFYyvuPUXWLQLcQyH83PPDIhf X-Received: by 10.98.72.18 with SMTP id v18mr12573282pfa.232.1510646347451; Mon, 13 Nov 2017 23:59:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510646347; cv=none; d=google.com; s=arc-20160816; b=sfY9gnxQcycyUxp8wj1TVGmFRQmgC2sMDHUSx5nQNh8YQ++HBKxGmMPdkxVPIFEALu 9jQav6Y8YmESBMHAlkmUaiMyCFJPi+1yFZKFgg/0MX4y59GAXFKhm37iL+QJ8MZQQ5SP dV+KlEeOCDM/ag5Pemy99Y2iD+/BOJs5O2jvlrcUTqU1HRWfS4xHEV13gkPGl6+WNc2a S22YtTQ5fVMgE7atNUcuu98tmFh1C2U3Lxj3Muwiaj7IPU3Z+Tv/bzXnxgIwDmhGHyUJ ZFNKw2Knx7KQUypb9eniFbS8e/1n41wm9MCIDpye2bpEOnt4nf5eKgOGUNWBYtpBhN/8 +EnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=LKk/O9svdVw2iXC2tWR+25CLADqhur4hXewskm0Prj8=; b=ILbEJuFGspvPwhegYqI//TcdfjNoug2ztmw9UeNqPtQWy5vThjp6RzxO5Wu4rScaoV 0qppGgjytchrFCuw3Pa1E8fMqTRKaAdNcy3i+9T6xf0MulbWu+nxyBvmK3nqf0gf4/6t CBgkpq77qzlpwr51uiPfsVW6IiWSTlAm1WV8BV91Y+DGcVM6JjhtcLC5Yk1ST836zwTA pN8YocE0KqSg0Z/FjCefVQwkCgWdU2HKAY+Fj48B1lO5x+dwFSZwFdA6NYC+bSNQmil0 OlRepbczkGTMn1ZpXFy/S0jLDFVccnQ6GhAO34db4WezE32q0kc0fiiC0taQiH0XX2ew xD6Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=XIZRZvDr; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e13si2324600pgt.664.2017.11.13.23.58.54; Mon, 13 Nov 2017 23:59:07 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=XIZRZvDr; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753400AbdKNHNF (ORCPT + 89 others); Tue, 14 Nov 2017 02:13:05 -0500 Received: from mail-oi0-f66.google.com ([209.85.218.66]:52839 "EHLO mail-oi0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751802AbdKNHM5 (ORCPT ); Tue, 14 Nov 2017 02:12:57 -0500 Received: by mail-oi0-f66.google.com with SMTP id r128so13030582oig.9; Mon, 13 Nov 2017 23:12:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=LKk/O9svdVw2iXC2tWR+25CLADqhur4hXewskm0Prj8=; b=XIZRZvDr/QegiyBHZADpzQ++FfifadYV618V5t9/nlc0irt8M/86SNf5FNunBKqEYQ z5SVmWenkFbHwOQ6+xHFyzT/g3LfoNC0a5w7jdR2hxA2LwdrRoISruUBrmmkjtoB67Qs ZeP527elMSJSrjPWZsqEf4b4RYeinPJ8/2VS+pB4oSOegpSfBa+cXuGYi46W1MuepDkS KDD12DIBMIY4ehu5fEt7BAhL04OcU/LQjkkQZLTm5Z1T+jkr0uGR4Y8JRMzZYRAphOfQ sVAjPGPCKqIuhiSn1mDL5GlxVAmU7bVyXhA2WCgUatKF/oYrQLlhM1vKFsMJkaO5yxdV repA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=LKk/O9svdVw2iXC2tWR+25CLADqhur4hXewskm0Prj8=; b=ZhjaFk828ZZnXe9+3JKPYps0eDZWEwLOY8vMghgXYZJuYHL2AYohsPXt7YoAWaRUuY nOhkP7qv0tu5g6JqXReLVU4vl8DLREOQY3h1p22gVvcYMed5xxFMT3a/juG5wvef+7E1 s+Y0md8onHBlEO7A4/zWGJHFtgc2JqBgOgO1yQqbOtMoBh67yJ5akeD0LzFsPye992rj bhykLo6eNEB7DeMkJpCQYv1mNFP/bWSV9Ux/MDLHyVRMbWfe3kBFVz1Ss3UwDHc1wHwT yi+BLui0zsG2I8Uk1FLvUb/zqcXbhW2++2fjLMmU1/hUyaKjfor8KmMplZ3jszz/eQrg 9MPw== X-Gm-Message-State: AJaThX7k0WUzL0L3//cPZJIgKQECDfL5gzWXFy7wr16BpHkLaFU4pD0k WK+VoL9/Yh7leY6VQr5RR43nnlnTtA4148QBX84= X-Received: by 10.202.205.193 with SMTP id d184mr6775054oig.333.1510643577041; Mon, 13 Nov 2017 23:12:57 -0800 (PST) MIME-Version: 1.0 Received: by 10.74.53.27 with HTTP; Mon, 13 Nov 2017 23:12:56 -0800 (PST) In-Reply-To: <902da704-1e4f-583b-91c3-1a62ccd6e73d@gmail.com> References: <1510567565-5118-1-git-send-email-quan.xu0@gmail.com> <1510567565-5118-2-git-send-email-quan.xu0@gmail.com> <07fac696-e3d4-8f35-8f3d-764d7ab41204@suse.com> <902da704-1e4f-583b-91c3-1a62ccd6e73d@gmail.com> From: Wanpeng Li Date: Tue, 14 Nov 2017 15:12:56 +0800 Message-ID: Subject: Re: [PATCH RFC v3 1/6] x86/paravirt: Add pv_idle_ops to paravirt ops To: Quan Xu Cc: Juergen Gross , Quan Xu , kvm , linux-doc@vger.kernel.org, "open list:FILESYSTEMS (VFS and infrastructure)" , "linux-kernel@vger.kernel.org" , virtualization@lists.linux-foundation.org, "the arch/x86 maintainers" , xen-devel , Yang Zhang , Alok Kataria , Rusty Russell , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 2017-11-14 15:02 GMT+08:00 Quan Xu : > > > On 2017/11/13 18:53, Juergen Gross wrote: >> >> On 13/11/17 11:06, Quan Xu wrote: >>> >>> From: Quan Xu >>> >>> So far, pv_idle_ops.poll is the only ops for pv_idle. .poll is called >>> in idle path which will poll for a while before we enter the real idle >>> state. >>> >>> In virtualization, idle path includes several heavy operations >>> includes timer access(LAPIC timer or TSC deadline timer) which will >>> hurt performance especially for latency intensive workload like message >>> passing task. The cost is mainly from the vmexit which is a hardware >>> context switch between virtual machine and hypervisor. Our solution is >>> to poll for a while and do not enter real idle path if we can get the >>> schedule event during polling. >>> >>> Poll may cause the CPU waste so we adopt a smart polling mechanism to >>> reduce the useless poll. >>> >>> Signed-off-by: Yang Zhang >>> Signed-off-by: Quan Xu >>> Cc: Juergen Gross >>> Cc: Alok Kataria >>> Cc: Rusty Russell >>> Cc: Thomas Gleixner >>> Cc: Ingo Molnar >>> Cc: "H. Peter Anvin" >>> Cc: x86@kernel.org >>> Cc: virtualization@lists.linux-foundation.org >>> Cc: linux-kernel@vger.kernel.org >>> Cc: xen-devel@lists.xenproject.org >> >> Hmm, is the idle entry path really so critical to performance that a new >> pvops function is necessary? > > Juergen, Here is the data we get when running benchmark netperf: > 1. w/o patch and disable kvm dynamic poll (halt_poll_ns=0): > 29031.6 bit/s -- 76.1 %CPU > > 2. w/ patch and disable kvm dynamic poll (halt_poll_ns=0): > 35787.7 bit/s -- 129.4 %CPU > > 3. w/ kvm dynamic poll: > 35735.6 bit/s -- 200.0 %CPU Actually we can reduce the CPU utilization by sleeping a period of time as what has already been done in the poll logic of IO subsystem, then we can improve the algorithm in kvm instead of introduing another duplicate one in the kvm guest. Regards, Wanpeng Li > > 4. w/patch and w/ kvm dynamic poll: > 42225.3 bit/s -- 198.7 %CPU > > 5. idle=poll > 37081.7 bit/s -- 998.1 %CPU > > > > w/ this patch, we will improve performance by 23%.. even we could improve > performance by 45.4%, if we use w/patch and w/ kvm dynamic poll. also the > cost of CPU is much lower than 'idle=poll' case.. > >> Wouldn't a function pointer, maybe guarded >> by a static key, be enough? A further advantage would be that this would >> work on other architectures, too. > > > I assume this feature will be ported to other archs.. a new pvops makes code > clean and easy to maintain. also I tried to add it into existed pvops, but > it > doesn't match. > > > > Quan > Alibaba Cloud >> >> >> Juergen >> > From 1584025887987230989@xxx Tue Nov 14 07:33:25 +0000 2017 X-GM-THRID: 1583947963447418004 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread