Received: by 10.213.65.68 with SMTP id h4csp3627imn; Mon, 12 Mar 2018 04:55:37 -0700 (PDT) X-Google-Smtp-Source: AG47ELsi0jcGHRluhEboKGD5jjZhqNvZ7Z9znX+AzLUE8boR2DHVqwvKnQ9pWL5ZyeEDvE0psmOW X-Received: by 10.98.139.145 with SMTP id e17mr7720626pfl.53.1520855737574; Mon, 12 Mar 2018 04:55:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520855737; cv=none; d=google.com; s=arc-20160816; b=Uz1idE1J2QnwE2SsBzhw4HDdg3vDVZXTYkbo3o3lDFiR4K77wlb3s9SouFf2MBT4nJ 1CRq+M+u5Wh8HnscBH97A6faoSx7AcDzu6uqwv4WYBPEC9y74t/jwagtdupDbfRT/MCk tMxpO5q5HcOlitDQpPSHemjqpa4i4B6x9dMulyJ+4fhjIx6wi07itChf5O086DjWHtvr 4pA67DMZLtSet3KHxJ7Exj3lNWKvImYYrHumKdKyTDiL+KRD0ZzYSDcAEL+XtPxAgJqW El6giHtsEje25CxxkUIassXBC5Da0irlWKiRu7dg5MLbcBD0Z/10jtgloa1nuXxso52F g4TA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=cHHmfxR5jopl9p/xEkU7jx+jR3Be3ICwLBinMEURRzc=; b=g0NwtlTowOyyQgu+RC9FzVgCOh/kP03PkNcJfrEX4o64Lc2ut2BkI7aQEJu94v6L7s S9p5kU+1sw/nPN7urwV+1rfs1DKHI53owPsLbebpC8kJYbnVNAWTuvxNzuM1P8SAnNbg +fU+sv9wqHNqH7/8qMyfcQveXspRR2lyx4ihfcyy7XD3/gBb1VmRFFbVIICY3fggA82g 2Pxa8DlLKOrtP6DZoUwTvfxQnfg8PQrPXn24LmHloBoCcCGRBvUMQ0nSsJWzRKfTd+r4 JEU7BxNLNak0YnyIqRHNRB7fItRzXY91d65bC3TNz+wzwOs5fm5UQ8kxEb8lzEiQhPG7 rONg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=PLw2eNDw; 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=QUARANTINE 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 m2si2118187pgs.716.2018.03.12.04.55.21; Mon, 12 Mar 2018 04:55:37 -0700 (PDT) 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=PLw2eNDw; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751279AbeCLLyW (ORCPT + 99 others); Mon, 12 Mar 2018 07:54:22 -0400 Received: from mail-pl0-f67.google.com ([209.85.160.67]:42994 "EHLO mail-pl0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750995AbeCLLyU (ORCPT ); Mon, 12 Mar 2018 07:54:20 -0400 Received: by mail-pl0-f67.google.com with SMTP id w15-v6so62425plq.9; Mon, 12 Mar 2018 04:54:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=cHHmfxR5jopl9p/xEkU7jx+jR3Be3ICwLBinMEURRzc=; b=PLw2eNDw9NOfj3zuIh4Zz8OBNZbgHL1JIX697NLEZL/mJeWnhH8y5XoeU8zkfgAw8e UzXKMCsAhCRFI4xFWKEM07T2/HGKf0KU/YBI4ZoFN9VU7EnsgTP8JEWsvXv70GTkQSOo mLnNPRxC2yyulLGc6qle822Xm0jhh/Qo6aqcsborSNAB2smvw59Eggjs3GvOGM6l/Fgx 0n6IZl+LIT5uV/hikvgvbpduPim1uV8PAnhYRlCrY8Bt0WXhQJuvT06TtUCiYc0pKuD4 2chhHMfXQfn8kCRmq9xIrE9Nh6J2mz1Y9OTEielG9+oV67QfoB1Jf2/fpkmJzgYCMqsf zo3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=cHHmfxR5jopl9p/xEkU7jx+jR3Be3ICwLBinMEURRzc=; b=k+ATffsRPfvy2WEJV2Areviv6zbKEJl8EUMuF1AkwzmSRwzqqwthG8iXCQ1EAgVmlw qCSS9ePH/a7Wm8ABeNv0B7lHbq1D1Inx98wLzythKTYBvHEn7tXAUrQ60/YxPPiQbPQI zeaN67sDXm0QviZQR+y45Oy/US/QjgLoO2CqAPDDnd3jSVMoLg2YAKAOkXV/UEtDDv9j Dnreso6IIqNaI3Niofr0i1MO/IVbIolGP7e7Ylgqy3/Sa1OVqvPLoj1vabxKO60NtiPC 3f7ZBHIwW5ceVjWEDkwSw6IELWwWiKLay9nkBhL+sHoDnNmvUbJL2/QOTu7uMyTwuUx+ sEGg== X-Gm-Message-State: AElRT7EnuW4KguuI9hPIv32RWLOcpR76x3sLuC0w0l+YYtsTCezBbO5b Jxqk1d6lbiDuLSlflf4E6Tl1Cw== X-Received: by 2002:a17:902:591e:: with SMTP id o30-v6mr1589173pli.258.1520855659843; Mon, 12 Mar 2018 04:54:19 -0700 (PDT) Received: from localhost.localdomain ([103.7.29.6]) by smtp.googlemail.com with ESMTPSA id v8sm16519878pfa.32.2018.03.12.04.54.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 12 Mar 2018 04:54:19 -0700 (PDT) From: Wanpeng Li X-Google-Original-From: Wanpeng Li To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , =?UTF-8?q?Jan=20H=20=2E=20Sch=C3=B6nherr?= Subject: [PATCH v2 0/3] Provides userspace with per-VM capability to improve latency Date: Mon, 12 Mar 2018 04:53:01 -0700 Message-Id: <1520855584-10079-1-git-send-email-wanpengli@tencent.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Provides userspace with per-VM capability(KVM_CAP_X86_DISABLE_EXITS) to not intercept MWAIT/HLT/PAUSE in order that to improve latency in some workloads. The patchset implements the original proposal from Radim. https://www.spinics.net/lists/kvm/msg146879.html In addition, thanks to Jan H. Schönherr's attempt last year. v1 -> v2: * remove blinding setting KVM_ENABLE_CAP statement in doc * move PV_UNHALT associated statement to 2/3 * rename kvm_mwait_can_in_guest to kvm_can_mwait_in_guest * remove unconditionally set INTERCEPT HLT in svm * call vmx_clear_hlt() from pre_enter_smm() * add a check to kvm_update_cpuid() that forbits KVM_FEATURE_PV_UNHALT when halt exits are disabld Cc: Paolo Bonzini Cc: Radim Krčmář Cc: Jan H. Schönherr Wanpeng Li (3): KVM: X86: Provides userspace with a capability to not intercept MWAIT KVM: X86: Provides userspace with a capability to not intercept HLT KVM: X86: Provides userspace with a capability to not intercept PAUSE Documentation/virtual/kvm/api.txt | 24 ++++++++++++------- arch/x86/include/asm/kvm_host.h | 4 ++++ arch/x86/kvm/cpuid.c | 5 ++++ arch/x86/kvm/svm.c | 9 ++++--- arch/x86/kvm/vmx.c | 50 ++++++++++++++++++++++++++++++++------- arch/x86/kvm/x86.c | 29 +++++++++++++++++++---- arch/x86/kvm/x86.h | 24 +++++++++++++++---- include/uapi/linux/kvm.h | 2 +- tools/include/uapi/linux/kvm.h | 2 +- 9 files changed, 118 insertions(+), 31 deletions(-) -- 2.7.4