Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757196AbcCRGNf (ORCPT ); Fri, 18 Mar 2016 02:13:35 -0400 Received: from mail-bn1on0058.outbound.protection.outlook.com ([157.56.110.58]:33350 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756831AbcCRGLE (ORCPT ); Fri, 18 Mar 2016 02:11:04 -0400 Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=amd.com; From: Suravee Suthikulpanit To: , , , , , CC: , , , Subject: [PART1 RFC v3 04/12] KVM: split kvm_vcpu_wake_up from kvm_vcpu_kick Date: Fri, 18 Mar 2016 01:09:40 -0500 Message-ID: <1458281388-14452-5-git-send-email-Suravee.Suthikulpanit@amd.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1458281388-14452-1-git-send-email-Suravee.Suthikulpanit@amd.com> References: <1458281388-14452-1-git-send-email-Suravee.Suthikulpanit@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [124.121.8.20] X-ClientProxiedBy: SG2PR04CA0047.apcprd04.prod.outlook.com (25.169.49.143) To BY1PR12MB0437.namprd12.prod.outlook.com (25.162.147.139) X-MS-Office365-Filtering-Correlation-Id: 71ce832e-d4aa-41bd-234f-08d34ef41035 X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0437;2:K8vKwrSv2o67lkhkYEHPQG/qM27Lj38dgslV6vSFadTnp7P6v+8FCjObJbnoTXYPsjoqB+/xrWO5RoIq7PLUl6qVIQka/MdPZ/jsQ4jUI3I7huOWEX8RITg4Gn3FjCg8HQ1wbnQqBKM17RNgLNAiZRwHu6Ij4qGLivAF26WmpTJACdjUqGZJdpby4aPgJXds;3:ZJ5q5dxm5NE06UDCyWiwpJmZ2KSop+AKHox4YUYahmvRGw6r0BE8paT/ElfrCTBG9i1ny9hIQccAITTb4QCWfm1mpaYcUlcV3snp+af/05K7ehO/JhA8FN8P/rxQBt+/;25:fLbGeQrYLujWITddVGIT07oB+/jfKQ5JhdDTVPrZ+vk/jbAd2rlzKePJ/koX/Aids8z/6bv7+bO3QGopiBsnTo2j5VCUoi5A5pwTDT9lAoSTmCVkaaJ8z/ijcQjPJpsHzM+RyayED8J7PLntBbpaDHNQ4j8KJ4EeWTw4YHr4/2DER9W+18KBtOyIqK36gqGlt3CjFx8Q4eAey6rbZ8Lsvlht9rifgJ5kCfszlUCQWmWR4EveVoS1N9s02sV8BOTg/UMqWXvgKToDSpdJYiW9bVjdIvn3mqq2f8QfgfILUFuJ/95Tj3mgopyr0ZEbLTWTPtWVbIwobX1FqEHK5CbX0kHoF5+JhiyzDouGQsctJw/Ox2zIBbYiJG859fVqRFrQcz8LqgLYmTyibVCj/S27F+pjBZaKzV2syQOtEGnsSKONsPFVCZVkLwQ5JbRSggao48hFFMUL8u7CEXRwFMueu7hAviSct4SDlIlTRLXGxpaAg9ZT4molytn2+VfK9gLg0HOjgH4S3qKxjL5ORuE++Q== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR12MB0437; X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0437;20:F/gfFZfAvL0CNy7PzB6lfqr+QQvoP+dUFfCVV1exbfzjPs77SFXGxMsxaPtY8PPo6pCiCRI4hIX4R+OxHdmX1s2pNWLgQ3RY9LZludvAYVklTBzjQxEcuIOIoA1/5UdoX8H0e6U6wG2Sq/bNmtO0C/7PsomRPTIsMOXNNbrcFmS3b4iMyDL5FwXMhxV10kjSC8P9PFDQ/vN/UxlCoDXDPjfTOYoUn3adFwqVekTZq6lGqmYP+Do1LoXAw3tuIKFInqZa6eFKXDsxuv3J9PqI4M5VtNWee8NZjm39gnqM3fFNNjYgAk1hQ0SBEFgxz4/OCsqK4zHk+xnqY4lqXhfePGmkVqz+ETEuGdl4RCj68Eq77Dg6l/FAmEomOCLB+KLLVYn0RG5PjP11mbQDksJKMPRZEFnLgZ0oHUxFlz9UQi4Xird8CjY5z2EppH7VhNdgG8syFZ62XXV5y6hBKDvCgugdY+0vI6eAKckcuOMUwAYD/z6+XLH/PlXI2aOGjk85;4:lb/BA/lLrRqVio1fx5jQTArdOK/UznQUlzv2oo8UmbX5MgYekeIeFiQospcfjhSnpyVYtV6by4OX/GdRP6BoHwIjvZ53vfP6ZH3yMc9NeoRXAoVP9LMjDN8afBFHLYCJ+Ox8FGoYeUR1T9qpmGloVDSayTj30hIE6LNKuBqJu9h5z1fvgpDY1O6fSddl1ve/gtqxmVhNh/REc+zzGgVLBVarRIFhyIycUHbmX+xx3/OdDbynpmngFcZrPQJl3gv3P26COhGAMRpFy6ZzJAqVNNxyRRLseV7w9Lms98OY/WLmThI2eTqtjQOqcrSdqV5BzIpNwlpl0jao9/ki+/bJqxvqDiTAfRa2qcpfEAXpZm+QWyhTbQ2ylvpd6C/aYwN2 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001);SRVR:BY1PR12MB0437;BCL:0;PCL:0;RULEID:;SRVR:BY1PR12MB0437; X-Forefront-PRVS: 088552DE73 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6069001)(189998001)(66066001)(5820100001)(19580395003)(19580405001)(47776003)(42186005)(3846002)(5001770100001)(50226001)(6116002)(2201001)(86362001)(586003)(229853001)(2950100001)(36756003)(5004730100002)(77096005)(81166005)(2870700001)(4326007)(50466002)(92566002)(23676002)(5008740100001)(76176999)(50986999);DIR:OUT;SFP:1101;SCL:1;SRVR:BY1PR12MB0437;H:localhost.localdomain;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0437;23:c6BxRJ9F9OElIR/j9qStvs4e1dP+8+FRFc0UAdXZeLg/3Rx1+DUDggTlXrqMUxSAsAO/aYRx4nIALhdpI/5uP6J99a0GvrBFcnHOP6+XPSwbI2gtl6yoP7inCyOfuSv3XVhCFGzp0xg9iF0NMhDUXXpLSAm82aZJ0bxljdaOaWfdS/2nhfUGQRt6BxsqUIrv8oByCxKSFja5ba0o1L1VKz7ogWzyYOt3x1mqdnG2tLGGcbuU0kI5RITUr1HrFVUSP80XnOeAYZNjgGfipkPiMYlgCB9fI7B7Lo9zW388Sr1NJ7iKZH8cPf/BldFsoiBhrVohMaW2G+pw18c1tDYBwUMN6L3DibtDMMVsAbU5dz+0/OY9AFVKldE3k6rjUppsQu6tiYobUfK/8mLRZNCUAiK0k1XWNXkPMNYlMLzyPKmG56yYWlN4hQCyUQbrsC3dYx3mPQm9+tygKIwvqqdRmZYQR3XmTzhMT+Xb3+V2IEMqLlYMz/uv/P6Wmbap98gR2Ttojihm+es80eL53eFYC+hHBhIBivrgWzXlQQmLEc4gClvS7xWgL0jQ815IsoQzY4jYKPtBwY0vUTXwXw+SsZWZYoSM0Ec5CYsWt0yIl0z4HGCYMaLYulu65rvLxZJYtgf6QuxCZjlGAgleG/JqHXZrmTtgiDTjVOebl9oB+u0Y2w/TRtZ+zLe4XqkHE3lY0mZ32twqLQDhQV4/44unASdfd5PCitmfekUGxPUFfks6nXknlnoM3W+iZgol8UV11f+YU+N3BM1upqKkAuZ9dadq32/IjZSLSYY1iKDmyjWsAIJnXgbxW+CZGNq0M+7CtMLDUqfnTVRTtZeQNisIWb8iCb96UcqnPD6Fa5u4tIu6UPrDhpHQl+XKYSwVZthz X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0437;5:jW2CKXpMMdcne1QWerH7kk9amF8tXc2r5LjrheQeBhx4zYpci/Kga+Y2BISIYRD7oy2Kts23r30Chlzo9xjksgelmxitQfxxgSgVADuHsymIP5R0TQRXD3e0A8cnX9En824hjbJPlnpYYVP7+Hgjkw==;24:3pg0z1jJ6ZK53Y9B+ZWYxktApZJH1TgOwAlez+zbjHTX3mA8Qu4dmg8G/BsA+H29sWJJLFa8PuP4GZqSrZZCmwREJ2X7Qk309yNDeeaO7xM=;20:JynhJ6L4ukmb4MFbbOX7tFP+CrjDNfRNqo8YFQXHgXSbI6ECXnGleEYeWuT9/U8VeQfNNQuCLZvvmCpaLjJLIQYSYZD8r6SEey3pOeeatTlDVXtv37AQ7A0qyCqMOfMWNBiuMHvdcjAvOon5EGTV9Og4U+y+7h7evLGFwX9gxXZ2dIVdNjm3tJ2xAkwZZKDCQIwv5IV6hXsih4ImNTd22MmVqY4O5TAy5xXSfHkCkkZ2f0NjxefaV/KyHnaaT/zI X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Mar 2016 06:10:51.2775 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR12MB0437 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1898 Lines: 63 From: Radim Krčmář AVIC has a use for kvm_vcpu_wake_up. Signed-off-by: Radim Krčmář Tested-by: Suravee Suthikulpanit --- include/linux/kvm_host.h | 1 + virt/kvm/kvm_main.c | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index 5276fe0..673749d 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -651,6 +651,7 @@ void kvm_vcpu_mark_page_dirty(struct kvm_vcpu *vcpu, gfn_t gfn); void kvm_vcpu_block(struct kvm_vcpu *vcpu); void kvm_arch_vcpu_blocking(struct kvm_vcpu *vcpu); void kvm_arch_vcpu_unblocking(struct kvm_vcpu *vcpu); +void kvm_vcpu_wake_up(struct kvm_vcpu *vcpu); void kvm_vcpu_kick(struct kvm_vcpu *vcpu); int kvm_vcpu_yield_to(struct kvm_vcpu *target); void kvm_vcpu_on_spin(struct kvm_vcpu *vcpu); diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 5460325..e8fe787 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -2048,13 +2048,8 @@ out: EXPORT_SYMBOL_GPL(kvm_vcpu_block); #ifndef CONFIG_S390 -/* - * Kick a sleeping VCPU, or a guest VCPU in guest mode, into host kernel mode. - */ -void kvm_vcpu_kick(struct kvm_vcpu *vcpu) +void kvm_vcpu_wake_up(struct kvm_vcpu *vcpu) { - int me; - int cpu = vcpu->cpu; struct swait_queue_head *wqp; wqp = kvm_arch_vcpu_wq(vcpu); @@ -2063,6 +2058,18 @@ void kvm_vcpu_kick(struct kvm_vcpu *vcpu) ++vcpu->stat.halt_wakeup; } +} +EXPORT_SYMBOL_GPL(kvm_vcpu_wake_up); + +/* + * Kick a sleeping VCPU, or a guest VCPU in guest mode, into host kernel mode. + */ +void kvm_vcpu_kick(struct kvm_vcpu *vcpu) +{ + int me; + int cpu = vcpu->cpu; + + kvm_vcpu_wake_up(vcpu); me = get_cpu(); if (cpu != me && (unsigned)cpu < nr_cpu_ids && cpu_online(cpu)) if (kvm_arch_vcpu_should_kick(vcpu)) -- 1.9.1