From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751488AbdEBVo3 (ORCPT ); Tue, 2 May 2017 17:44:29 -0400 Received: from mail-dm3nam03on0078.outbound.protection.outlook.com ([104.47.41.78]:18880 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751074AbdEBVo0 (ORCPT ); Tue, 2 May 2017 17:44:26 -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: [PATCH] x86: kvm: Avoid guest page table walk when gpa_available is set To: Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= References: <1493049146-19261-1-git-send-email-brijesh.singh@amd.com> <20170424205236.GE5713@potion> <77f51978-5937-0c94-13b6-885345921b03@amd.com> <20170425140351.GF5713@potion> <6e453f35-cd26-1df8-5f8e-68fa09c6a1a3@amd.com> <20170426204427.GA7135@potion> <7e27af5e-5978-5b57-f008-58515b218cce@amd.com> CC: , , , , , , , , From: Brijesh Singh Message-ID: <99ec8226-07c0-7d10-5659-52c647de0d19@amd.com> Date: Tue, 2 May 2017 16:44:19 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: DM3PR12CA0057.namprd12.prod.outlook.com (10.161.151.25) To CY1PR12MB0149.namprd12.prod.outlook.com (10.161.173.19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4e0f8e72-9717-4b44-d3f6-08d491a46594 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(201703131423075)(201703031133081);SRVR:CY1PR12MB0149; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0149;3:sHE6ukgVCNSJ7kkk+S8Gh04PazUMaFvm0G7MMspBrUvpfIt+K9zX+7Lv5JvgOUC1eRZkhQGP+NtRwGX72FvXj3OvwZtdZNIKI9FMmZlUSuxej+N8Fc5VVCUOJOZWnGVp5X/xW33ECQSSFHLFHukK7HGSBwZVdBXXxVhrgM/FCm8UFDNhVz9eGG/YP9WYTHlaL6X1uSycwJHDzwur8a+z+U7ZwIrjG1CLjYgq3/p90X7hYpO0RHGwn7qRxRQojKpqQTENbHJEQdAvdcnpTnAeilJ5ztgw8s+1bmQEf1rNOXdB7Rcusj2KMzjwVck4smTXv+R7GYMLe7jgrCVnAdFg7x/KV7K7tL7WC9UqNHe/LLU=;25:hXI1CyAJgbhyvSwDHNmo62sYif1R6TAfqWAG/qOWs641yyDq+UwEMhwsNV43JInAsnaLC/0Wwfe/SzRcnVM1ZhicdvOqRomssyLO5Y/O02LL66MmqNdP9sn5FsE9fDyhdOXGC0qEOYtF2dr4zsjmHrkxb4IFJKzL3cWdrQAScI16rEk2PzKovmrud2BmYR1eh8FcBJEA2uaHG7xZQwUw3DSOadNLMQOTGjPDsMN9YycRPq0d7Pcs1gDqlLxCjCHncWFsQQ1vDaQo98pX5e0K2zsByTLT1S5i5WYCNawMPC3KNpKWR1z+LMfVo3a4C6kjx3IqLDW8T7/p1pAdTvniSpduFCOp4daGYb86X4qaqwiSiYG+A0SQeoSojSjxNujq5ydROukWssB52Ytc0ZCjMwq29ZRWjQ9H0M6JNo3CxOJBhYgQ6Tw4OxfRv4NOgXhgJ8AHmHS7uNfLZFAqhYHmDQ== X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0149;31:S4mnM6m63VYlrWd+UusFkZ50y5yv7mWeEpCHSBo+nJaFmtd/Czx8rdABWWxt/yUQsi4NoFFfLZjVYRjtV/l71+zB1qz4U0SouAwe985i0kRux52FcIZy4MYIJLgE5fSEwt9pM867nplh9PrPEwMewnpnygGXbTTlzTkGrohMmVTGLb7RVrprycZiR4twzDAaBFC//tL3a5w5dWicy3ttzMvIZve3gx6Veq4YqCYuwvPPnTj2nkIVc7of6hXYTCy5;20:aT8t39ZL/g5QHi6NB0TJ3z9RQqreGyaBhALY8+vadTAVBJoqeTO71nL2xulOMtHC5S/RabGObLL46tCRcU0bY3AIltevFD7eaOdSIhsANJaNLk3Mn65cVzeHrJeKggp2Ap6pM6pO8RYcYfsXYsr6XWfnMiTET9oYIsbDtVYnYGdbPoX02s/f7lqQVVFox8C0I2wb45yxOpAqRJHt/58QDNbYvKydnKwGJm40AHvfQKv4zNTo4Se2PYM7jEkgiV88FjNUaf2bTy2k7FAiH4dUX9xgi6N6R22H/Gp3KMOIlIIVMxThxiX7KfU7ujsZwDkjyGWcJ+2d4yz8ihoQm1VaeFmN8F4tmTlS8OP/7pT2g9H5/Uj+yUx+FenyHRpjpe7uLiBwTcebgAmEHwrDL044PK4WaVx0bthPmZ6PApLUT9nRk3obYHQpWOv805zS7E0+sqH1w2F80ZwyuiiHEij8YMkxiFPzQuFQqOba8j3OLIT4EExcAIY9CaDy7zktpgfo X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041248)(20161123555025)(20161123558100)(20161123562025)(20161123564025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148);SRVR:CY1PR12MB0149;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0149; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0149;4:B7X7t6MUBQQBNeyLTcpi60oA+GUQPRtOeiUbH+qm+3/rcAcBoKNTMHPalbeT9uvyhsyk8D6KYGepeHQ6ErVi8Lmk7g3cFZ6V6CWhia1epKPEvjNFRDX8ZMgERvREMVMTkVbBcwMYEQAge4UPZWlzOhUN4Pn57IF47p98j5F5OIJmEpxc6okyyOXQuL+hG3EjA2r+0RHazbLQsWBYOsiilG0EYEm4mgyDnyoTaQmtBeAiuWei2osvXyItzMYlnH5U6zofOm00yoUx7Z2tgDH5RHzD4eY2UiYi/A/vygedHoS2DzkOpr+7BLgepmUR9dyJp02n4hxeXE3k2ZzJZl93tYMv6ABHTiy3WAjfq4e74WhkowgXb81uLSNEpENY9X8+XcNFnEXEYHvmG7O/4PITSMIFlQnNupTrTFImKwInn0+D/wKk+rfDA6f/A3CFZnGlHGLT8GPntcLuB+kQAKToJ8RBCHYM3j5KBf/FTQ7Dm+Ca0rE2cuvRKCM/U1goCU7zX2CdfgUXfy+mvEoRaPNPPevumA4VJXOSYwbB7eD1XFq9EfTZ2CLeN9wzg1wtXXbUhVOzRu8XTnusPlEsBjOXgpD+3SsDQMJPGJQJ0e9RZc90kuGj6f1gTOnEyaRKR0xxbpDBBv1pDLcktxj60GbBfLlXGRc1tYjzKX4kNr+/8ibFnNX4aYjLOENDCURpbYnWQJc9aPl98QnJJsF7Yq2IWQiwB3LBpRemMfhJT0PuX/ETNWUsPt4nk4kPGOQDU+qMkBE2L5U6jai9zU0gt/vGqw4jauP5Ix2hp2ozYnL+uL+tG3DeG/fyDTBMCh/P3QHh X-Forefront-PRVS: 02951C14DC X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(39850400002)(39840400002)(39400400002)(39860400002)(39410400002)(305945005)(65826007)(66066001)(2906002)(23676002)(54906002)(36756003)(5660300001)(64126003)(7736002)(83506001)(4001350100001)(50466002)(54356999)(50986999)(189998001)(478600001)(81166006)(76176999)(86362001)(42186005)(4326008)(65956001)(77096006)(230700001)(53936002)(47776003)(2950100002)(6486002)(8676002)(25786009)(93886004)(38730400002)(65806001)(33646002)(6666003)(90366009)(6116002)(31696002)(229853002)(3846002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR12MB0149;H:[10.236.136.62];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjEyTUIwMTQ5OzIzOmVsb1FIMnUvQ3Q2WTZxNm9hUFM2VUh0TG1V?= =?utf-8?B?cDcrWURTRkVCZ1YxM1VjaGRvclRGM2JjUjN4WHdPekxBYUpiaTl6cnc2MUZD?= =?utf-8?B?N0ZrUEw1QXJEY1FvL3UrREJIVk9ZSk9NK2hyaUxodWVBS3VraXREcFl0Z0JI?= =?utf-8?B?akxaVkp3V1UxWGw4c01DaVBtSFBrODBWTnBHVU0rdTdaT1llVDNQVy9yS21N?= =?utf-8?B?UCs0RWpwUE1OZStCUTFMdzBOQWlVSWp4eGY3ZTdNZktGWDh4b3RNMlBxTFdu?= =?utf-8?B?bk81VjYzVnFTU0tPaXNqdzVOU2RnYjNxSkRSYkh2dzNVbHlGdW5SNjB3NzB0?= =?utf-8?B?WHA5R05TY2orWUhhRmZsWXVrVC9DaWM2cHprK3lqVVhvZzN3ZEhRN1g5Q3dl?= =?utf-8?B?V1pjOXlMN3RweFk0ZXJzRmlQSWduM3E1TGRIRzhqRUpURlkva1pDQzUwY2U5?= =?utf-8?B?SktTdTdRL3RsVDVDYVpnRWVKWmxYZnRPNkNOMTlSbnkxZU5aYUt5QzFSczVW?= =?utf-8?B?b3FQeUJOVGxNMGNjYkdqZFhtNVU0Zm8zWWpEQko2MWlXbVBOKzQ4Y2J4VEV0?= =?utf-8?B?bFdseHltTVFJVUcwSEVtdFNYc2JkOVJ1NWN0MFhianNScm1oMC90WWdxVmEy?= =?utf-8?B?ckZhRGVZc2NDVmdHdTFBR0V0TllTZG45ZVB3M3RhRWsvQ01aMGJkaUtsRjBO?= =?utf-8?B?bU1yUUxvTnNZRUtLM25BblVJTEcrTldSdVJMZlZBSURRWVlXSVQ1WllocC91?= =?utf-8?B?MzhVRm1hczJQeU9ESk5KUWhYQjg2UG9zSUdYK3BSOVJrT29mbTV5YzFNUWlq?= =?utf-8?B?MWdENlIyK2dwbC9EcmRxdjRVanFaalRsclRmTXZQd0NqQTgrZHowQWtwNSto?= =?utf-8?B?cS8rRlJ1ekw0cldocFBGUDRJUGdrQW1XUmpYWHpZRXdqZDRxZmZ5YVMza0VD?= =?utf-8?B?SmF2Nmd2UFZyS0hUSDY4SERuREI0UUMrTDgzczJQNWxpd0I1cTB5UUhIZ0VC?= =?utf-8?B?TmJ4MHBwbFBhUUZTU0IrM3BlUzNPZ3U3ZVRhd3VWMXZUYnhWeEVqSmc1Q2pV?= =?utf-8?B?c0RWNHR4anJxR3o0SVphQ2dySmx6Y3lCTnpNME1TVDY0TjQxN3kyMVhtbVJu?= =?utf-8?B?NDc1QmkvVDFNQTNEZENWNEZyNHhVMWdXaVpaQkNWbUx0MHFMR3V4THh5bTlD?= =?utf-8?B?QkVHUnNrVEI4c3RaYUwwYUU1WkdFU3RFa0pFcHI4NjNyanJFYk51OGQvOGRI?= =?utf-8?B?ektuUXkvY01KY1FsTVI1Z3czdDBTNHR5N3B5dHRHa0hRL29BMXQ0SHdwSnlm?= =?utf-8?B?TEZDaGIrWFljRG81RTEvZ2xuOG1UOGhvMDMxOXpETEpqTE8yY2MyYm5xcnl6?= =?utf-8?B?TXNuMUdSSlowcDZESHlOY21JSlhrZnFMTFlCd1RYSkRaT1RURTU4c0V3VlFs?= =?utf-8?B?Q3VkMWYrS2RESUR6WVdPckoxWm1wSmsrYnh6MkhpaG55ZnNqSldkRTQ5eng5?= =?utf-8?B?UlkzLzEyWjZReTFDS1Bta2VvVVA0SzU0Qk5OTHlENGNESTE5KzJRZGp5SGkv?= =?utf-8?B?eEJVenhEeGx6dzVGSWIwUUliNmNMNENxLzJyOERLcXVGQ0VRT0VrWlNDRVNL?= =?utf-8?B?bXdsclFvWkNxbDhmY2ZaQ2grNll3c1B3djhPMFMxd3RYSDd1WFhXc2tnPT0=?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0149;6:x1+ISu6y9U1B0zdh1nrdfEkS2KTjWNxOxQrySm208ya+HK19Z6FnHrXhdK9e9um2fKP5zfGOzxZtWCB/TlvG42yqaQHnZbEt04fd6lP4tO86NSQRI7FB58hgphLTAp7nCct6B5Yyr3gu1feE6MR/WV+8Rzvq4YMbm1kfNHtrlLK2fLKbZ9jRfeaqEBAXMz5+ZC3NQ7i0StpRQioTG+fFzd0HgaAXx5Zggi2bklRNfazjZ+YDirguhOPCvyHBmr3v39CxmyuSgCahgp6VuDa0dpo3q42oXZjtmy52yHZXdrKcapJxgWqmJSjvLDZojgTFAyTvE4HDtd2+CC5adY4DUZ8GZI2nhtAaCgBknbvphJ+UjICrBRFBCx6i3wzUW5jwOQxyBLed/EQrrvdFGDK5ABr6shOs6gGIkg1suWzRWSGmqEYemCzjDrF8NZYlZ7rHgY8zcqeyGRy800viHZgY6rA1EMnz1ISvC0lolK6it6mKRny55Zdy8ajmXoSmFFO11idTRQi7zIt6RFj391YuZx2/L+g99m8RHZwHWIo0Sdc=;5:/JaIa5zGHhnZLLx/MBlOrV2T8JDvYSmiXrXjdujLSee3qQfJMWJfKlh25QWgU2ng1EFG2UJgxmS0xCZ3LUfy/6wutlKskIJBmkgaP7dIvp59CAz2lnOk1c8nkp81NNL4tsdnYd0ehPD821VLFHtbdw==;24:dlrKNFPfzPrKZpou902NToLl2vTZJffTrNolJs60SEMnojPgYWaB4CeJvFcxgPUssX1QLJRBO5X9Tf9QEZoh8dHIO5NP1JdSmI+UYqAfoi8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0149;7:1i6TsTiZLYeLQ6wk6mJ7j/WOiiL0R4clFrkQbf55L50jWWuW1pLWd5AtHVbOtlbr1LHs1rNhGBxWQ9rD8byfW2jt5gbXey3n4BFOimkNYSKafYxKztnjAR5QqH26Sw2psabf2Uwxe+aM4O9sjQHHGsE4dA6b6qCdsFxvr5tRJbbJdSs1TBJ8e/nENrdX4boMf4ffcCgyQjluxJYiYhwffdTLXACEWimkO1wjy+Ahn6odyD5K86274kcllnjMcaULwV4y4uiKQk1StRI+X8KPjoEC2zS/yPkyD6u7/1rLGT5450HLyJ4wn124mUB+phOy1+n0sucic76VnyxdH71gpw==;20:1+iRbhPWfzHeLHvxhoaNS9Aj+twe0hrpfANeyc7h5jCoxdPvPiru9yT4DXHQsrR2dwE2V5SjEDvYonM4epzhFZbg7okXpwZ8cv16NlR+PVOiY7O9e78RzAVz55VfNIH+GXSQwVhnQb7vjHMztPkvLWZP80H1Q+Inmpj5/qtsJeWJXzcA5c6Eqr2ovotVQy6KmuWK3O4Yx3D2pYlvn1TtDmTydJizVJ3s1NddgY7FxNF7hMMCcWwxkDtwRhtS6pyj X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2017 21:44:22.5842 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0149 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Paolo, >> >> I've tried the below patch and it seems to work fine. This does not >> consider >> PIO case and as you rightly pointed PIO should trigger #NPF relatively >> rarely. >> At least so far in my runs I have not seen PIO causing #NPF. If this sounds >> acceptable approach then I can submit v2 with these changes and remove >> gpa_val >> additional. > > PIO can certainly cause #NPF, albeit rarely, so this is not a viable one. > For SEV guest cases, we anyway want to avoid any guest page table walks (even if it happens rarely). Sounds like we have to depend on gpa_val variable. I will refresh the patch to address one of Ramdim's feedback (move vcpu->arch.gpa_val assignment from handle_exit to pf_interception). Brijesh