From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755042AbcCNJuk (ORCPT ); Mon, 14 Mar 2016 05:50:40 -0400 Received: from mail-bl2on0093.outbound.protection.outlook.com ([65.55.169.93]:10569 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752107AbcCNJui (ORCPT ); Mon, 14 Mar 2016 05:50:38 -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 , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= 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> <20160308215424.GA31328@potion.brq.redhat.com> <56E004A2.70702@redhat.com> CC: , , , , , , , From: Suravee Suthikulpanit Message-ID: <56E68955.5060401@amd.com> Date: Mon, 14 Mar 2016 16:50: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: <56E004A2.70702@redhat.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [124.121.8.20] X-ClientProxiedBy: SG2PR04CA0081.apcprd04.prod.outlook.com (25.169.49.177) To CY1PR12MB0441.namprd12.prod.outlook.com (25.163.91.19) X-MS-Office365-Filtering-Correlation-Id: 0defefbb-7b95-4dd8-13b6-08d34bee1659 X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0441;2:QTlX4iN5d/G4ICwBthg7Z2sMYIiOCWtiKkIvX/jMboDCJ1bL0RJKNUQ8pkN98P1F6ZjmpEwcxDQwqvjOtTygbxjVst8vwiqKHknRinMFUxb/9T9Uv11vd9KkCCKhUvWGLwzrEQIEWntMl4llkQiAuDEHcY+H9JJroeVYeeYAXcxTI/nDYRziqszxubWTmhNu;3:9SPFGn6OLpZNH0hoasSjI/hNq8hg58CR6EwhQmclhLCQJHx0Nn3ihtdeeltwJreMVA7LqW+HLUNTHOickklsgU+TjnRxPgG2WhDk4t/i6W6nLUY37o8KfxzxdYE9KWiG;25:sAabSJ23xyvbTP0tkQ6LbNvxQeOCB0ALugo80265eXzsirUmUkhgQu00K7ECyjO3G4pKP2OsuMyITNsE6n2pwmkc1o/jAoXz9IAr7DCIIVW57bqicXdaKltxdhFFkWfz3AFhGw4Sb3BZQTW45yxJ7Unm3VDZ23EBVId6Leqw4k75VjjcAh99UoamQ720NNGmcB1Tt97k2FZlBRIaBG/bZp6loyVRbLdeZWVXvVyRYnYDKcd0g8vzHFMfRnuC6iLiwNX/Ys2+BK4Rx1/cgqfm5j4N8GHQrTF5RjDNzmcZ68byIypXw1HupiuWCEzC63iUCR5+dk7HrzhrzzsT5juD4Q== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0441; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0441;20:mKiXA9C3fd0fYAYLLJ/rZbcm+Rm3fnZqVLX0YRi8YNAoOroniI/j4vaCPSC6VlUtFXX/nb8c3f9eaYfgLaMVJWuI4DmcnLhp3KF2PkYCQBMdUXPA9PAwWHtkqQTJSoVXRGHgHE0k0A+TKMFSKEN/8TuZ9KhcNKyzNlQW+MxR70rhpRcuSCVcU4oIVEs9Az+6I5nYwazHZ8l0/0TgO0UIlZuYpzDlRjMGSRZnDZntqrinRc+XDjfyv9tdD9uQpEsYz0eqkQx266wmEfbFp/FS2w7JYdaek9OtaAQLSOfDut8sW/ODkpKBYIxJUct1AdnENLFZNzNx6YLokutLkHSlQDbB4nD81auZk6S9QGrzewnqDGimJ2UlbHKWtBuR+Tn4e06bT7pfytpSzg+ZfSoh3ZQmqX09hgSWyS9vCMfZhoh2emDW63wM1sQr8HkPpYJ3QKY0iLrU1AG9v9M6x63DoT+oO5BEqkWUzNvXKfc+o0y6thIFJ05GmhSG1HAR7aao;4:InBCtC8gbYJhdd8dlMyuR83BH0zIbp3pLrRB3dhyD5z/HpknEa/HMzfEfJYpfs8b/KhngFYk/wPx1/oVrQ8TKo7vFLosFsoYbYJgikg/KLv+SOvavjJ0WOVuOcYeaMOZuBLc4IP1jBWr903OeZuIHrlKg0U8Wkkfc/DD1/STjhsj71WzJXIYtgwjHH4Z6n0iPGBsXOdr67+wzlaTW06mBJc7viZArMJ+SY2q9nHpKtkpi+th2YtL7RoDfKmK+EbFD8D10ZOb/b3l+KeX0zsFPM0U+OoOQAOHea6DJH5APF06eqlruu5eZ5IXsE4PDbWRbSJ7KNxzcYwywVdvvUJuUIm3V5dZx37+xwOeNaLC9WgmIw5bmj5QnzYAhjj0aVp3 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)(5004730100002)(42186005)(5008740100001)(64126003)(36756003)(83506001)(50466002)(23676002)(4326007)(76176999)(50986999)(65816999)(87266999)(54356999)(1096002)(86362001)(33656002)(2906002)(189998001)(5001770100001)(93886004)(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: =?utf-8?B?MTtDWTFQUjEyTUIwNDQxOzIzOnR5OWNua0hQUUQyQ0ZBNXdRVmVWU2VUYUlV?= =?utf-8?B?REFBSU4yTEV0ejNSdGtxYnMwODRCNWxXbkEwUk5ITnFhdEtBYzhLeVNKZzFC?= =?utf-8?B?c0NveGxxL0Q0M0FrMzdCaGpKeVRMcHk4RGZ5VjJhalpqRUwxZTJjSHBwNjZU?= =?utf-8?B?Vms2QmZLUXcyeURXakxFVmFtaEVrQmprOFFHQWZvQzQrZUJ0Q2xyL3RpZmx2?= =?utf-8?B?R2FXZmRkVGVaV1pPMkN1NklGeW8yemVwNEJwNUkzQWNVK2t3NWQ5dk5iejBy?= =?utf-8?B?R1duMVdTMk1wVW9UTnlZRmhGY2RhektscE1kVVBsUVcySUJZWmlkMy9qcGZR?= =?utf-8?B?Y0l1V3lrNi9IMkVPdEJzTXdyU1Zjdm45ODBRRXQzQ0ltSnFWWlpsQmFQZVp6?= =?utf-8?B?WEUwaG5wcXRodXc2MGc3MkZGT2o2WFlwTGtIUGJLQ0pqRTVId2hSSFIzdGFN?= =?utf-8?B?UDJXZXUvNkxOUWRCeVdCUFJvR2tDbS9ubUR2V0J0U1pTdytKSmlrWWdtZnJZ?= =?utf-8?B?eVplZU5mWGZ0UzQzS09rK295MUdIWnVnU3NEVkY5MTlmeEM1cU80NDRRNTZ3?= =?utf-8?B?Zkt6YkRQZFJ3QTFPbEJDekdSVzZjYS84NjNHZGhRc0FkaW11TzNnbDdkVi8z?= =?utf-8?B?bVFic3l4VTVLa3ZtMGZtVFNzYTh4amZPd2VKa1BVR08zVVUvOC84Qkxnakl5?= =?utf-8?B?MWdiWER6dkRybktRT05waElPMEtTR3hDSm1HSmJZMlhmeDJjQmpMc1lmcjdj?= =?utf-8?B?K05SNTJJTnlwcTNpNlNrejI2YVJHdlhjNGNzN1B5RHl0S2thUGg4SWwxbkg4?= =?utf-8?B?aWwzMUp3T0VzenkvNjFFZXFIZE1yVUNLcWVoUGR1RmdORXo4UDJCeGpQcFhE?= =?utf-8?B?SFZIaWo4OC8xL1c2WHNqVDVaT0ZWZjRKWUNPRDBLVVpSbVI0UXpxZzI3bnU3?= =?utf-8?B?TjhVZHNROUdYTTBqcmQwRDNJMXhvMnA5K2N0ZGhLa2grRWY1Z2FLc2NnU21G?= =?utf-8?B?K04xYmk2RTlwamJ0RmtjbUVVZm4zTllZYjRkL2lTZUNwdmx1ZHpxNk1IVlZv?= =?utf-8?B?U283ZjRVQWlRY0xQRStibUdsWFJ4VTZ0Y3lFR1AzOE9RbjFrWi8wRjRYNnov?= =?utf-8?B?R2U3NVNZZERKb2JISVNUUGo0NHN4QkVMang4WEF4aUV5aDM0NWxjbjV0Rm5o?= =?utf-8?B?aXRMRzc0OEROTWFhSmtOODFXL1pIbWc0cUR5a3IxRzBWci9BNGFwTGhzQXZm?= =?utf-8?B?bjJpS2hsNEdrQ29lMHdsdXl6Ynpubk1BYlBGOHFhQnAxUjRRNW9DU05JOERt?= =?utf-8?B?TUttTitaNWFHRTVyODVudXpLWjRTb1NZQ1hXR0VPTHdBcHhyOTZhNjFVckxO?= =?utf-8?B?YnBzNkNwN0xPRy85UzZJbThta3ZBQXdQMExabzVXYlBHUnRneVNPR3EvWk1H?= =?utf-8?B?UzdMV3NiL1N4UURkVXltcW9odm9SZ1kyb2pDc0plbk1JaVo4bHZsUERDK052?= =?utf-8?B?WEFtUT09?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0441;5:GtRunHQ+eLzXICO28PujmbISka4HPar5MupSwnIVSPNaLPuew37HQb6mTYq15sGMntCrf1Yh3YYQOPxWoamxRh3ZJPJ4uJHjt/Q5jzogrsVZpobMsrbZt/Zmg3VVsou4GcKmNZ6y+Tn/Bf3KR9wi8Q==;24:XI5aibv1Ldju0mFin0DZPGiO3NDM2X5ZVjGSZYB4FgOjsxwQjwjg67hYhyWuHCh9DeAj9VffspiWGInPntBJm9ZRKxoJDlvdCzAXoRPmyYA=;20:ifiR8oacfT2ptGSepGo1rjXJ99t8YLQn/h6DScjAOHYUTzBfVvlp+dJCJFZQ5sPEgYhM9e/uHeUctx7kiMTHV4eBd9dx4LBOmA6rrg5TZ3zxYg0GLi2eh5XxGNs/d7O7VL17kxVDuGkUORYgssgyvbFdNRhaZNOgP3Ec156c3aPF88CVlZWzZxyrgLwlW3nLAjZb0Zbp1fZk9TMALofNKpdKSS9WPtZC3CPfOco3F9tgh2QwYDamtX+/DOZwvEZY X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2016 09:50:31.0012 (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 Hi, On 03/09/2016 06:10 PM, Paolo Bonzini wrote: >>>> + >>>> >>>+ if (vcpu->mode == IN_GUEST_MODE) { >>>> >>>+ wrmsrl(SVM_AVIC_DOORBELL, >>>> >>>+ __default_cpu_present_to_apicid(vcpu->cpu)); >>>> >>>+ } else { >>>> >>>+ kvm_vcpu_kick(vcpu); >>>> >>>+ } >> > >> >And what about >> > [...] >> > else if (!vcpu->...->is_running) >> > kvm_vcpu_kick(vcpu); >> > >> >? >> >The kick isn't needed unless the VCPU is scheduled out. >> >Or maybe just >> > if (vcpu->...->is_running) >> > wrmsrl() >> > else >> > kvm_vcpu_kick(); >> >? >> >Which doesn't use the information we have on top AVIC, making our logic >> >a bit simpler. > Yes, both of this should work. I like the latter. Ok, I'll modify this to check the is_running bit of the AVIC Physical APIC ID table entry to determine if we should kick vcpu. Thanks, Suravee