From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932730AbcCNFZj (ORCPT ); Mon, 14 Mar 2016 01:25:39 -0400 Received: from mail-bl2on0097.outbound.protection.outlook.com ([65.55.169.97]:47649 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754844AbcCNFZh (ORCPT ); Mon, 14 Mar 2016 01:25:37 -0400 Authentication-Results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=amd.com; Subject: Re: [PART1 RFC v2 06/10] svm: Add interrupt injection via AVIC To: Paolo Bonzini , , , , , References: <1457124368-2025-1-git-send-email-Suravee.Suthikulpanit@amd.com> <1457124368-2025-7-git-send-email-Suravee.Suthikulpanit@amd.com> <56DD9FF5.7010201@redhat.com> CC: , , , From: Suravee Suthikulpanit Message-ID: <56E64B39.5040609@amd.com> Date: Mon, 14 Mar 2016 12:25:13 +0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56DD9FF5.7010201@redhat.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [124.121.8.20] X-ClientProxiedBy: HKXPR03CA0019.apcprd03.prod.outlook.com (25.163.104.19) To CY1PR12MB0441.namprd12.prod.outlook.com (25.163.91.19) X-MS-Office365-Filtering-Correlation-Id: d7ba6d85-b964-40fe-4af8-08d34bc91102 X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0441;2:vNwNyibWcJUSKmHbEUm9AP6XjFWvhIJmKD0eOBEkwTJahXRNbpdVchjuWYP8tqUiHJONBR7FoebdY4zYeaFVX9xXxiuQZXbMmJRdxbzBnSUB5ribDcF1b/ICcTtYybCk1oFGMfKNLqR0Su/xV/aaz9bxai4oCbFga6oyhExpbuh00jUQmOuUzI5TEmjQ33Wx;3:kLjGLAYL8ffQZhtFu6bQo3VVanP7H4MHlXmUXX3jAK6mkSakIK5DdHlr32qOHRwupb2ybALhslRK4EJwEuEyRE3JxU/OS3EtEaLZco2Cv1RnE+5LSbSSH8s9cxqdulj9;25:CZhMgcIsiDT74Y7dr/BYnRxLjoE/ILbtZUhLeCjmFepVTASy9WXIbrNCBN1H8ME58OBl9Yv4sKtUTXCyZ4FcNdKtfumLRGPXTOZs9SMwMrl4aJLuh/T3+3uclr/i/bh+A4KnLma5ZQOZIl6iXf1mSsyBxQjhQDRrPRbBrEaVdMGA0ttJR911bEw7L9IrQrgD4LdWLHGvyAwsyPExt4iuNo5sJyGR5rJSSIbuPgnf9T8VL5dpLOM41FeBdJJtNOr5JosrpnqEndrl8pZEocYz90IPgr8fLLBNi2Xk1z3UbKxI2i7V3P33CYl8hSYEHI/Xd5dMOIvPaADlr5URxdK9Dg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0441; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0441;20:+wZtpZfIm8WTc7hq1Ogc8C0WMLocs9e8+TPA1sJrc8Y1hH1i+F26CDu7IqeHcn4jn726F3GYMmblihi71E04QGX5/KjKB2BsrarXCuBWywi5VggP5XsdsiZ32Ii1vvA2wm7+P8PKWwX+X7706snEZAVbu9+XbAqQMfl1qHTBWVGUee2TJqP6Er+VcSwio47LZfjAGvRmWSUgaDXNFd62e5VCdTtDkktHU0UzYBoVSsC/30IwggYcSZ5WS0h0CvnAY553+i+8HYO5l56d4wuKrM8hNA9lgHhZMYtFLYkvZ9LtqkCnFg5twapzD64Du70arBZNuflPqyN1HPbe3XaY9KyfmSt4maBYQwj9B0KosqELrZOlrb4B46mYW9JqYJV04iLe2gsQc4Uz6f8jrW47FkDtjOaLJ1TDTLa7Q2gy7ViOj801PMs1Y6LSj1jUVVlTFvtY/dLHZ4wzdfAYrGBoajLhLZ6GFifQNtuPwZezPv8qm/UsCCDPG0D0wLzZ5z4Z;4:IfC5HYyM7lN1RC0mbSf07RDOl/zPhOZ5N9/XLzqLtG97PcNvRUEbuQ0CpfvfLaacHps/QpWMUix3dj9g579XoRr6Vx1xfVrIn1FsXP7CE1pJHcggO1bH2i858x6Y+y60nbuL1AEG93FodAmkceZHzkwRce0trMjAyA3cWVmPDbekHv59zv5UX+NrGxq/hju7Qg/2r6E1mpxm4ltANJxryuNggsKgCAH+sNyWAnPSIxcPmMu02gIkdj7Sx1ELLpT8hSKvKcdi0YluNhM+zckk1Lwzf6AGYtpPLs31/+eUWoyYbO/paSyjr1ipYY4oT1WJ6sLWbcoyFV2g7s/pH6KD/JyFJraTlkST2oYfGutwBrraFhjdPzLlo9pDQ9Lk9kwO X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046);SRVR:CY1PR12MB0441;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0441; X-Forefront-PRVS: 0881A7A935 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(164054003)(24454002)(479174004)(377454003)(117156001)(59896002)(66066001)(65956001)(65806001)(47776003)(77096005)(2950100001)(42186005)(5008740100001)(64126003)(80316001)(23746002)(36756003)(83506001)(50466002)(4326007)(76176999)(50986999)(87266999)(54356999)(1096002)(86362001)(2201001)(33656002)(2906002)(189998001)(5001770100001)(4001350100001)(92566002)(6116002)(81166005)(230700001)(3846002)(586003);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR12MB0441;H:[192.168.0.19];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;CY1PR12MB0441;23:ZzOEgNWgrkBmL+40BUjXhpAygVLrrxrg/C1Dj?= =?Windows-1252?Q?eoRTEu+2z4wEnaDwNoA86x0yhsvPzoKKfI7UKgxvaeA/aZayw/LUzmrL?= =?Windows-1252?Q?x83SxpxGjvBRDUlGReFnxpC0y+7Vm4lYHA14qp6oclEMxuJnP9NKdPA1?= =?Windows-1252?Q?glimOzexKhDnvBJb4nkCMqCNk29kkwvM0tD5yDiUZ9KOpvt/AiZt8o+w?= =?Windows-1252?Q?Lo0DBNpPSLxn74H2AuIywG4nNPvA4ipgCdWQ2zTH7RP6FiEfyR6aoNZQ?= =?Windows-1252?Q?RxtOwVvw4q6J4WLBIzvgEcBbkSBHMyDyAW/CenVq8YJXXr4QlWjqMtU4?= =?Windows-1252?Q?O0zfm913BJ3w/X8QqDkrAzYD0t0Qd+0Wg4JfSOf1NFnLPgrKZu/dwg7h?= =?Windows-1252?Q?dEMF4z64X9yjT/YfijTFUQOJA1cCA06eWL54DacRsJ0aBQgEqLFIQ5TD?= =?Windows-1252?Q?IOZUuA219bdMkFpPF+xHzgj6O8jWm9W42FihiwFde2eoeTbjW11+TS7I?= =?Windows-1252?Q?xg8yJ0gDC7/soDILGkltBDEGEduC2zmSJpqIJd0j2Rqs1eMk8bCzs2r8?= =?Windows-1252?Q?cT0deoikU8GScTFsqr640i129um/9kjtzVoPtggH13lFlCvCVjHHKDtF?= =?Windows-1252?Q?5tc0GDwSdC3PPeG2lqDFlo39hJBeDfODEd9RuS/UzHyqCC5PYWsPzG/H?= =?Windows-1252?Q?W1Uij6B0jZ+YWltlvZStoJE6DAjXMjVXdP4dHhvhJRSsG9rN3JgL+P4p?= =?Windows-1252?Q?YxftoIVgg3af2c5gWkgvxvRLrSwfC5AK5ib0KlbqUkFtR/YKTD9Ydwu6?= =?Windows-1252?Q?n/yxuGpn2O6yn90LeUS5prBBu5T21LHI9cdKFfQJZRza1g+SgVmhZyCP?= =?Windows-1252?Q?hOhUnkCgeGSaA+X5sQkFc3fBhCZWZfrhaCoUMDwpSdfB1yXBG2Qf/CZz?= =?Windows-1252?Q?BZgLZJzNburM6ykoAwXOqgnVust+4Rl+9sDSGWwxa1183zMBjwmtpOBx?= =?Windows-1252?Q?u4gvKajY6Tku7mfEAs45p7pUZ25FmPb7dIrbWgCs5a+g4+788BV4t1G0?= =?Windows-1252?Q?lNi0Nifsx8qSyam/FbcpDT82iHAPAEojiSOdPjjdYRvk7M1BvNenTAbO?= =?Windows-1252?Q?pdXWZoYwN8L8rEl2tvVSb6mNfaG1jRXRYPjN3phswMiUhxKZGHJdPtPI?= =?Windows-1252?Q?gLxIYtcZA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0441;5:r7h+8Y1q+1SNhKUGpFJL2h1uLe9vUo/jflntgw2MsL0H/MNpA/zZJhOFIhTli8SMIB1BJ8+u2LmkJF1SqTF3vUNnEneTP69Mr47UVbVZ5ywKUr/9YWcKVQKnyiMVi7uSomhJyMOkVcO9WRzQko8d3g==;24:McqoLInw0RPcY5l0kwoYNcx18oa8OJdYE/lAgiSg8cv8eJHQ/KVOoQTbIZHFVNjv82gWyh6hm7P5YiDIKYn6NAcgcjiiOYC4AeelXlj5tqU=;20:mhowR1yFPFY/vJ2YUOT5jkG0QJpSlKjc+yyRWzhjfPscLFtNR3z3bIeZX0UlUvdAPbfNB/WhRE0fWSu3qUZWnveqB40lD55zHe2qIRQL/UF7Lxorh7RIFfsFEVj2N39d/AdrXeCSJlNQUTL4keAoYMhB81or7/pjnAkanyEQlM4jFpioh8yNqHQB9DbRxZt/RhhNwLD/TnnvhvsNsMtJibcYNP7xZleZpAgYDru92F92+LmTLRXz4vCyhEDvL0HK X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2016 05:25:30.5086 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0441 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 03/07/2016 10:36 PM, Paolo Bonzini wrote: > > > On 04/03/2016 21:46, Suravee Suthikulpanit wrote: >> +static void svm_deliver_avic_intr(struct kvm_vcpu *vcpu, int vec) >> +{ >> + struct vcpu_svm *svm = to_svm(vcpu); >> + >> + kvm_lapic_set_vector(vec, avic_get_bk_page_entry(svm, APIC_IRR)); >> + >> + if (vcpu->mode == IN_GUEST_MODE) { >> + wrmsrl(SVM_AVIC_DOORBELL, >> + __default_cpu_present_to_apicid(vcpu->cpu)); >> + } else { >> + kvm_vcpu_kick(vcpu); >> + } > > You also need to add > > kvm_make_request(KVM_REQ_EVENT, vcpu); > > before the "if", similar to vmx_deliver_posted_interrupt. > > Paolo > Actually, I should only need that just before the kvm_cpu_kick(vcpu) isn't it. I don't think we need it in the case when sending doorbell. Thanks, Suravee