Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755477AbcCNJmH (ORCPT ); Mon, 14 Mar 2016 05:42:07 -0400 Received: from mail-bn1on0086.outbound.protection.outlook.com ([157.56.110.86]:31088 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752194AbcCNJlz (ORCPT ); Mon, 14 Mar 2016 05:41:55 -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: =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , 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> <20160308215424.GA31328@potion.brq.redhat.com> <56E004A2.70702@redhat.com> <20160309160050.GB31328@potion.brq.redhat.com> CC: , , , , , , , From: Suravee Suthikulpanit Message-ID: <56E6874E.4010807@amd.com> Date: Mon, 14 Mar 2016 16:41:34 +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: <20160309160050.GB31328@potion.brq.redhat.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [124.121.8.20] X-ClientProxiedBy: HK2PR0201CA0037.apcprd02.prod.outlook.com (25.162.206.47) To SN1PR12MB0447.namprd12.prod.outlook.com (25.162.105.140) X-MS-Office365-Filtering-Correlation-Id: 4a6ba840-fa21-46cf-a400-08d34becde80 X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0447;2:qX7CY8r8ASgl4rmy8QwX6G1PKP+IFZ8nr6XSEkGHyiwIBJq96Cm2yXnayqZWfpC3aF4Vmkqbg8l3K5dvl4Z+jE8FzNwPdd6W0NhEkKF/23SDarqR7E754IeWBmobxxTYSQCuaJJZGZjkg7qWtGyJSb8EiZBNvEzKhj8GBllpH5Dq4kzFjQdusbGktjqpfpew;3:UTUjYZPDC9rBtn5Uwblrbh1DPQenvOIabL3AkJ8ofZsFHCMxP+7HlkPmmeBT/zcC3CLHfrGSNNbWnILBwJt24CzWLyTxck8tgzPt8GXDM+e4lZFtLS7OI4xxVzigiWee;25:eELzNjxG9yy7KKuOUnJzez9Ta7t2QkNHlkEfNrU0zOQ+ciRBAulJPaPg9eVfBpZLKwynnximdBKVysEymyA2wV82wPOkMPdJWNzMp/CwWf0YT9kGHrooi/JR8Fne3Mux+MbjUt4w5tnhwC7OUah4gRWctfRIw91pDD2icAEhbsa334CfcByr7IbzmH3fOG/J0BNf4HHmcQuMMRTCLHVQZU8TRYfuAEdUzG7J73eL04nN192Vqlumjikz5ROIFpZmIqU1r740a0aN7n3dI0kpSNRP7jSTHtYWbHGKNrT1koD7S1luEBhy2npAJUJuu6bkAs/4HllZN0pGZIuqMMqPCw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0447; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0447;20:DapBPi6pNUkzOrIxdsOxcJ2fF0pNb0KYC25LEFjXGfwe9hUNo+PG+ZdFt8ldYGEJ2k4+pCHpQRHvGaMMGwC7WJWJVYJ+RfRBag5B5gdcyqdsJds/sP5Dyu9+Wmd0phc7tmYcyg+eAmSi/eD9bv80UEgU+QWdlRYdtwce6E+C5E90F4uD/qXUCqRU9AWQFlbdw0pMJRLuijfOf8nFd4JbCfQ8oY9QCHp5Clrv9FqVm3oBp8dxmbP4qtl75Ishgm54JKpKlgCeIhESW8iQyQxLN9e3LOlu2zk5s9W92ejYptJTp6HVnCUOcKZ1kXZdvCsca8cCroB9Ca/I+xam80LcWCzQrFVel8bmUVxJ4jd1jF7U9kq5BeIRxBHyZ9FIEVVkiy5rKxKPDOSDQUh6zcBMwiLSuxbrZuUuYi08Lm/5S0AQWFTcrLD2JFXbzB1n/0hCMX0qArpilV5hnuOSU9sIpe6OIltdVdWVWMX7j6aIlx7fQWU3hcWukhmgiEMm+7Nb;4:fY4v+SfZwbVXp2afKxopABpJ+eH8wGVkWoGoe/XfHAL06jkglp01B2VfehfjmFjnzcfgSlVptPeuAiZu2p+ovVAQuEcUsZe7caJSgrSTvHGWbC0SeF/Fv06JPz+232JbVBHCvF2kjMVqdTL+VNa41MqNTPT1sHDw5NChUsMV1/kE0JAwzoZuGvjr5i4AIid1ptLnJWeqdGJ7oMm9FKr/y/9Ot3wTuV6qhbUh5hvMP4QnFbD89AiaHxiE4lqgWrck/uRes/VBHmB5wyibP5s43Q75pJfkYYX3iXWYGnfo8vJZAC5Wdz8bDCthLNJTssGERlTUI5JNN5PyZZc/PbPebCyDmZLy4l4jSDisC6DOziFPS5om79i5jZp1RZXVXZZH 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:SN1PR12MB0447;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0447; X-Forefront-PRVS: 0881A7A935 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(51444003)(479174004)(24454002)(377454003)(377424004)(93886004)(5008740100001)(5004730100002)(117156001)(189998001)(47776003)(2950100001)(42186005)(23676002)(5001770100001)(76176999)(2906002)(2870700001)(54356999)(92566002)(81166005)(87266999)(65816999)(50986999)(3846002)(6116002)(1096002)(4326007)(59896002)(64126003)(586003)(50466002)(66066001)(65956001)(83506001)(36756003)(65806001)(77096005)(86362001)(33656002)(87944003);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0447;H:[192.168.0.19];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjEyTUIwNDQ3OzIzOnBBenZER1lZNjhZcE9xVG0wSHBPKzg4UXE2?= =?utf-8?B?ODVYY2FXVk9Ybzh6YVdPQTZDL0lmM3IrR3FJUVQwdXFQN2N6V0wwbjR6YlZG?= =?utf-8?B?Mlc2S0RLYWtSK0F3Rm5XM3dxc0RDakJOVWd3bTVRUFVjclA4TGxqK2poYThU?= =?utf-8?B?dW1oSnYxWUVtc1o2bDFIUWZBN01IeUtOU0krRU1DT2xIZWx2L3hqL2MrN0xN?= =?utf-8?B?aXFINjdxNEtaYVVuS1JnUVVWZzB0NDRyV3RVODZRMlFPTE9NbWpxQjluT2FE?= =?utf-8?B?ZjY3Q0NSUmxlVTVJMW1IR2pjUHhsV0dsNjZPcVI5WEhMOERXOWZyYURtaXh3?= =?utf-8?B?Tll5T3orYTV0bGtqNlk0QUxlUzJBR3R6L29pUkY5Mk8zQjlUVkxXdnc3VCtk?= =?utf-8?B?d2dIYVBJbXJXVTFHbllNL1NxaVFDNklQTm5LUmM5Z2k3ZVRiUFhpd1VQTlYz?= =?utf-8?B?SWgrMHh6bGdSUituTHRWd0RyU0ZGeHJrNWVyN0ZHbTlhVmJUNy9UQ0E0R1Rn?= =?utf-8?B?TDlEZERjdWJEK1JCdVorc00rbDA3ZzhzRUEvT1dmNE9xbHEyOUc3STJ3V3Ez?= =?utf-8?B?enNyWGdzSzNiVGZXLzZ6R2JCaHI4dFR0RURJOGUxVDNDVWFtRFZKaDRJWUU2?= =?utf-8?B?bm9KV1kxVVZBeDdxM3gzdk80UmdCMk1nQzd0Um1GdmJ1bGwvZTIxdUc2eFFV?= =?utf-8?B?TXZpUXArdzhSQ2Iwc0x6aDNOWU8wYzlVWll2d0t5bGVWL3hJeHY1WU5BaXox?= =?utf-8?B?UWhiZkJKdkIwaW9QV3JqaHc2d2Z3SDBpVWh2NVdMS2gybjVNTXVVaEpyd3Zp?= =?utf-8?B?TDBHNCtPajJCTGdqZjY4bTh3UzE1MVNyTWhhbXBwY2s4STZrNDNrV2NKNEIr?= =?utf-8?B?eVlVdmRiUndhNGV0QTltVnB6WnJmY0lqaGZzc3cwV3NDcjdLQ3JiaTJ4eGZD?= =?utf-8?B?Q05JNUttR1RxNWVpK2ZLYm5JcjloallIL1YydmU4WS9DOUVHRVk0TDIrZTJq?= =?utf-8?B?RGw4M0huQzBOVDdXUXVtbnhDeHFaWVo3OGVKNHU2SVpyYkFzbnRSSjgvcUxC?= =?utf-8?B?ZHdneTJYQllBSERRNTY4N05mR3dCV01Wb3FvRGc3cDJjM2dDcDJodGRTdEVR?= =?utf-8?B?aFB2bkllVVhvY1NhUUR1SjM2VDlodDMyNEJsVFpCYU5uYkd6U1NtYUREQWow?= =?utf-8?B?cjBMZnNncHIxb3hoUEo2T1Z5ZUFJd0NLWTlLWjRsWElZMng3dEI3ODhDU3lu?= =?utf-8?B?bllsS21ndUNjM2pNWHBrTmN2Znd4Nm9wTFpqQ2h4NHlhTzgwYlgxbU5xUW1Y?= =?utf-8?B?djFERStjUGxYWUFQYWloWE0zaENOSTg0cDNrci85WnIxRXpvL0RocFV3cGZW?= =?utf-8?B?eHhPdHB6enkyMGE2VkxKSkRlaWxzaW1DeWpkN2M4R2lwUk9hd1dxWXo1MjAv?= =?utf-8?B?SUFyVzY1WWhMVUIrM1RSd3Z0cDA1NUtkZVRUZlRBbEhJRGxKTWoxcDR3ZEdS?= =?utf-8?Q?A/wPi8THlHTpu7TGZUwY4saVwqLFJHFzbLtOdeiKBSfrWK?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0447;5:qFfk6kQk0XiG/s1mVNCDy9Z/xOduDM5l0ewv6yhKv3nQ/HRFG1Gb0JFAZFtrcod178GF3vKlI3XpvTH6oA14XC8mICRSQoKoiKPPDnlYUAlWPxt53tev+Cdg2HR9z37KIi8XsaoKaQVlwfwm4Sd57w==;24:iWB5Mb46DF8RI1NgYUBWXxgg2V5q2o2KdbWhP8f0aXvgKvCCIGOvfQojt3q8op9Fz+WL7I/wsohzQT2csumwPl3wi9xFZsGzIVnexo03vJE=;20:7jfKy/TsVcF9SQJfpBMfRQdkrrPHGlazI2iVW/yz8qOjrjlwLsvRbz4HVE37jcBPOBo5LJ8AWqWLxK/DwOofTUrNdDagWt0GM30ueTTGvv+33FAIAlteR8jOqrJYCdp1gD5qV+JY1nl/OeMCaKpGW0ISEvYtwBHrgwQO4bw5XNyZL9lSI3MTyss75PRUtd+zlLJyft+RsDWjatcu4QwXP25CZYXeyePYfYLFLSor+PJ15J6mM4KblrE5afYVrzOH X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2016 09:41:47.6708 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0447 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1021 Lines: 29 Hi On 03/09/2016 11:00 PM, Radim Krčmář wrote: > 2016-03-09 12:10+0100, Paolo Bonzini: >> On 08/03/2016 22:54, Radim Krčmář wrote: >>> 2016-03-07 16:36+0100, Paolo Bonzini: >>>> 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)); >>> >>> (I think that smp_mb here would make sense, even though we're fine now >>> thanks to re-checking vcpu->mode in kvm_vcpu_kick. >> >> Right, though only a smp_mb__after_atomic() is required (which is a >> compiler barrier). It is similarly required in vmx. > > True, kvm_lapic_set_vector uses a lock prefix. > > (I thought it behaves like atomic_set, which would require MFENCE for > correct ordering here ... I don't like smp_mb__after_atomic much > because of the discrepancy on some atomic operations.) > So, should i just use smb_mb() in this case? Suravee.