From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753959AbdIDRrc (ORCPT ); Mon, 4 Sep 2017 13:47:32 -0400 Received: from mail-by2nam03on0050.outbound.protection.outlook.com ([104.47.42.50]:61408 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753912AbdIDRr3 (ORCPT ); Mon, 4 Sep 2017 13:47:29 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Cc: brijesh.singh@amd.com, linux-kernel@vger.kernel.org, x86@kernel.org, linux-efi@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org, Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Andy Lutomirski , Tony Luck , Piotr Luc , Tom Lendacky , Fenghua Yu , Reza Arbab , David Howells , Matt Fleming , "Kirill A . Shutemov" , Laura Abbott , Ard Biesheuvel , Andrew Morton , Eric Biederman , Benjamin Herrenschmidt , Paul Mackerras , Konrad Rzeszutek Wilk , Jonathan Corbet , Dave Airlie , Kees Cook , Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Arnd Bergmann , Tejun Heo , Christoph Lameter Subject: Re: [RFC Part1 PATCH v3 16/17] X86/KVM: Provide support to create Guest and HV shared per-CPU variables To: Borislav Petkov References: <20170724190757.11278-1-brijesh.singh@amd.com> <20170724190757.11278-17-brijesh.singh@amd.com> <20170829102258.gxk227js4yw47qi3@pd.tnic> <0810a732-9c77-a543-ffeb-7fd2d8f46266@amd.com> <20170830174655.ehrnmynotmp7laka@pd.tnic> <8155b5b2-b2b3-bc8f-33ae-b81b661a2e38@amd.com> <20170904170525.toyulxwaevef42qe@pd.tnic> From: Brijesh Singh Message-ID: Date: Mon, 4 Sep 2017 12:47:15 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <20170904170525.toyulxwaevef42qe@pd.tnic> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US X-Originating-IP: [70.112.153.56] X-ClientProxiedBy: DM5PR20CA0007.namprd20.prod.outlook.com (10.173.136.145) To SN1PR12MB0158.namprd12.prod.outlook.com (10.162.3.145) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 18a19079-ee40-47e7-9caf-08d4f3bcff24 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:SN1PR12MB0158; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0158;3:GFkAeiboGwSzqvBEA2Vev3WwJ5zilwhWb3LaWLACsK+ewJd43vrxBmEj4R3PW2spOJMT1Jy2x6I7H8cvdEYF4qCQ+GTk3Os0T+j/1MkPKMGkytYcJP7gy2bO2HDNGc1+7ucXu2UqE5P3CDExdgeEDkQFVx+JJpa0z7GLGt2ILhrkAJdZpikmGZmyUP6bCQIuv/VrAbXtjK7nO9FrVqNfOqDGj3YjKtABdMjQYYBWTcTYq5+kueAbv62lqWGp9Nfz;25:ObVdtSlcbrs230b9S6iGlHsw2jLHQiL4baHBwz/RzIuo7eh6dV1Iba5I2iJhSlS/NXH8NEkz4cOFcxriyzLQxpAvn91NMxWtQHJ4geic7pdLK1iyVCy5UL23tCOH0/s6Tko6ZDd8LisAeWWXX/3sSymAVDYH5yjIG6PTKRdOO4uzBdr/KNrveLV1ayqh/D/tvEYm2q85bXxO0KvFsZsSh7nFr8FKmOel9OQ737OZNj9mrfaPGqIkXlu6UEMCSGcB7NPBN9ZvvQNZ/5MitQS4pmmO26IcSO1RrQpBVILwfjfuvMNVVph3ZWZXtxFlh5Iesv7Bcp4m8sqDd7jEDOJC8A==;31:YgXeyvS7KQCGWCMxx9gxi5vBzsW1cReWTolvWOm1CiC65mm+r0y+7slaFfGvB1Q1dLSsoc81E9Gy84IyMsL0h+VHio9GmRnpHLKmibkqTcQKXU+qA5a64PIMxqMDttqr8T7R0ylzfe0P2fn0PwBRqLBJJ1xIYdntW4cLetQp0lHYCysCDtG873HT+Lq9QbF7/l5Wp2hQ5844UsRRR6y+bqbL1kLwmrSu0tglzvtdnT0= X-MS-TrafficTypeDiagnostic: SN1PR12MB0158: X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0158;20:/lSQuP4LAgCfsvm4PTVB4UdwyZwX0LfhYbk6ORFCOMazKyKOArBf0qcJWjl87cfMESgkKMFZVn8i2Tygq/RAoIrd2YteGB4RNpd9ny99Qlf6gXqvA9JX+haG04bo7Hp/UdrZUFFyepcKGQqIUXbSBBntIvMNtFm+8StPnX7qEOrg7AaP+4MiQ57DcHoXmtc8xD1HRnUIXQaWfpBaLy/AmMH3nvic/RtWfR83dhfIF0DZKI4CGixN/XiO/3ik+a0KEZnp9ftZPc2VwjXotJ27p1MWohWQb6+aoNPrhcOLtWDhJnb7fjcb0Tt1qM8LE9VaO43zy3kVjwBVJLOouwUfMrYeRvIMxgF9pdreu1O9ahIOMcGyfLRL1fv2/BI3JesC+xVo75k8EphyGKB8kQMvkJUfwGO3zTT9jTnT0JWSwCugoFfEWzocc1atoreMHzgQxisG8TGKGHEDvghqWI6S4K0fsWMM+MJ6spdg8+5lZYE8mHx8SO8p3Zba5XLsAa92;4:EsN5svO5aQEtW4rsGuyuPZYJxqpMxkNYzaDyu2A5FC24X68ieBswdHa/nojFL3RJPT+1H+Zychb5CHFJjIuVfaoyd3W94okFj5Dqi62CheVIWuSANa6flJ8lKWKyDizpSAfraB3iNyfpEvXLpKvpO4Va8/XrEPruKC/NFIm9gZyvlEuWdYl/2aE/z4DxTf352KtC2U4WUfTs29XuOpGHMgaf2MPjIcS5GWatqcBrON42iWVxyFWymK3EWEhRc7bW X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93001095)(100000703101)(100105400095)(6055026)(6041248)(20161123558100)(20161123555025)(20161123560025)(20161123564025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:SN1PR12MB0158;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:SN1PR12MB0158; X-Forefront-PRVS: 0420213CCD X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(39860400002)(377454003)(189002)(24454002)(199003)(478600001)(229853002)(6486002)(6506006)(65826007)(6512007)(110136004)(6916009)(53936002)(33646002)(6246003)(31686004)(42186005)(2950100002)(6666003)(7736002)(3846002)(5660300001)(93886005)(53546010)(97736004)(4001350100001)(31696002)(86362001)(8676002)(81156014)(81166006)(83506001)(8936002)(7416002)(25786009)(305945005)(7406005)(6116002)(68736007)(189998001)(4326008)(50986999)(2906002)(106356001)(66066001)(76176999)(101416001)(54356999)(105586002)(65806001)(50466002)(65956001)(64126003)(23676002)(54906002)(47776003)(230700001)(36756003);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0158;H:Brijeshs-MacBook-Pro.local;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjEyTUIwMTU4OzIzOlYxTWtZTGYrR2x6NE03bTRuQVErenl3SnBL?= =?utf-8?B?RjlNRU5kVUdvaitEd0VRNHRaL2ppRzFvZVpDOFd6UWlVajhEUmJEamZoZ2Zu?= =?utf-8?B?TWJsOHNRdlhwQ3JIbmdhMEdlVklQOW9YU3JSbHdNWUJ1YUJSREFlMERKV2dE?= =?utf-8?B?ejJRNVh1T0U2SE1xWWhnd01wWEdJQk4yemQrN3IzTVJLRitMRSt2OFY2L0dT?= =?utf-8?B?amREUDRHbVlGc0wyTm83ZGJjWmp0dnNvNG5HVkMvMXFzSTg1WFh1aXhma2tI?= =?utf-8?B?VTJua3V0WUVCWHhRTzJzcGhUNStDb2c4NUxJaUE5M20rbldBQWVpUGhVdzN2?= =?utf-8?B?d3FLYnJNcFhyenFxY1hJMzhiQkhEUGdSbDJvS3B5aGs2T1czY0NKM09iT1dw?= =?utf-8?B?U2JjclY5b0djOElhQzQ4N0ZyNkRRQll0ZVd2VkEveTZoeXZIWEpNeGZ2NTVR?= =?utf-8?B?TVExRlVTQWdsTXVWVmVTSWc4ekp1Qk5wa0R2TUpOVEhSZk00czFxbW1jNlB6?= =?utf-8?B?VzZRdmZHY0VuKzdOZ29yYzYxWEliMGx4eTdBVSt4eGtNUHBkZE5CMCtraW5O?= =?utf-8?B?UUJEd0lXd2dxVE5HQ3VYWDQ0YU9ZU1p3TU9sMXRiRFhDbEpLWk9tN1lsRUlO?= =?utf-8?B?cEkwQlptbkoxeU9UWFNVN3RSK3BKdHo4T25yaWlxQ0lUWllFL0FWQzlwTG1s?= =?utf-8?B?Tmsxc2tPdENQMDE0S09idEVibFVPaW1jc3ErakJlNzBBYWkwSUVoTGxjb1Ba?= =?utf-8?B?QXg0eXhFZ01qcFVNZ1JWcy94Vm9nL245cXRwVkwyZGhwVXpGVkhJTVROWDVt?= =?utf-8?B?WWZmZlNkcFpSZkMwRDFKK1JNZDJ1OTErRE9Fa3VVUkpEYi95NmlKckZmcENi?= =?utf-8?B?UXJyMWwzck82bkhSNzRGZTVGMnpuSDhKWkQ4clNDZWgzcXFZNmVQK05BUjRJ?= =?utf-8?B?dU1DQnptMGFqdzNVWVdDYjdrR3hrcER1M1h0K0Q4YlRkc3lMU2dCR29pVFJQ?= =?utf-8?B?LzQ1WC81U1RQNVpDcnZDblFZRUdOMTNuTWRoWDlUWUJFcGJLZW45YnJsamdC?= =?utf-8?B?MXFsNVJVT0N6WWdpbkdmSVYxenNDcDUwMzZ1YmpYT29KdlBnaHBORExTZHJn?= =?utf-8?B?cGxidHVuQ1BENk8vTmNCTXlSYVFFK3ZNWlV5d1NiNTBtNDV5eHMwOUN4cGVn?= =?utf-8?B?dGoyMmt3SUR3TmFnS1M5U2VUOXd4Y2VHdW9QTU1wUGpBRDFMYk9OUmoxUDJQ?= =?utf-8?B?V3BrQkRBQUY5NHdWOTdyVldmM3hYakpub05CaFc4cmFIUDloUXE5YUh1Y1cx?= =?utf-8?B?V3QySHd6VlpFZEZTd1RUSlpQOElhdnZqYlI4amVGSFNrMnhTVTNpeDIwMnRx?= =?utf-8?B?MUFwRkYzWWhhUGRnYkRJcGFXV0I4bkY3OTB2WndHbmF1SnZEb0lCck9mb0Ri?= =?utf-8?B?dEozNm1DK3FyWnRTeDVwL2Z6bEFHUnk3TmFFQWRTWXBSckZ6TnBxMFdGQzFq?= =?utf-8?B?K2hiemRYZ0NGcWtxRWNEVG9UUmovNjRndXhpbjArME85M0d5ZlMrdHR5VXVD?= =?utf-8?B?RDFMa2swSldCQ1Q0OWkxYVJkY1ozZnQwaG1Gb1JUOWNvK0xEK3hyQmcwZW5N?= =?utf-8?B?NUZqT0lIVjUvc0JjUWNVcEQrVnRHeXN0MzVFWFFDMnkrdzRneHNCM2twYjRh?= =?utf-8?B?K3cwZldwMTI5MStFTkV4eVVDSURsU0N3TVZXNlNaSFM3eGJwWTh4OHRXa3NR?= =?utf-8?B?YkxrclAwcDZBVnVSdnNEaHpGb2VXWUVaSnFUeFJhYjVEQzl0cTd6Q1pxQmY3?= =?utf-8?B?dmVhRVo1ekhWbll6OThQNzQ2WkcrOWRuNXVDNzZaVUVudXdwL3JKWlFJQWxs?= =?utf-8?Q?BQWoTuPZ+YY9vuIMCdpOZH7yI/f+gkGB?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0158;6:0SVPBu2kUQneFk3Q+Qe6SCZ3FMMlkRyjcAcSg4n3xMcx92ucXAxVjc4MTTYlZasIvsBcVETbDcz/RpknlsySlh2VZLOnUpitzzKCWkmElfx4jgxeSr1cKJV3jyUA6ZwmEBHJzpEdxNfS/bHQnu53pwZiXWyAmHs7ri0YdcagQ05R8L5+hb2eQO3UOt3mP8AD2+7oDwAzKnRoa3Nk+Bsa9p4cAgI0bNFYd7Yf8l88U3qaxF+r0qxtDM5b5Hgi+tDy2sbamBrmLXZHJObCPVQ8SDWU+6YZkc0je9Su6d6NrZywReDyHNBx68vroIqvPuWfU4FfG8UZccZSXfn+1SleSQ==;5:rw+goUqnAj2EtMFQFyrpWJOgaFhSMlffd0kejakFos4bxPOVLR/VKSzL3kO5KfTlId5u/rAgYYaBK60kp/OYZKX4EKm8smy5uVnCekC4HcEMlZeoIvY30oOfp6tKzIfgYKGTn/RNnfdMvF1IZGWz+A==;24:UT1TlItTmPp58NIOMskbRl2zzUtNnRabxYAa10EXg9NzDFk2KyshEEaaE9ehBkJBJNd2IA8SSzWgXPVepygOXiJXi6BWI/fq+rz9pLIkdog=;7:Rv4KjrMkXuiU49sQ/zIm708n0kcRtwm69dgGP55WnUHJHkQdD5m6qekMS1iWUiJt93x4VyLUlZOLt03HL0V/KN+gGqmqK3+7yj26oC8iitVSnP6IxKFZ4IWVYLev2cnKGX3W5N53KYsCZ/lPZpIY/hxs6XeQVnqBU5Pf/pMh3DXGG+G1KnKH/SrkkeG2ftZhk/XS4VzvS90s+/29LnU69n2Fym8S1GGiCqFf7seY99I= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0158;20:UGOL4TM/MUpJj6KBgfAY4B70hkXg0F/8gkTMPkFBWOMZ9mN04lTn5YB8Q6Jm61MfE9E2tVpzUpiHfnWbMfslRiy0HV5QzU6Z3k35cAYNKZtDXxTu7qrFIK0RXoqZt3Cvd+/m2J96efLxk/opxZf5M5XtipmlSWLE9G1mzUMGSWYwFAFdCOX4ftn+yzaWTSErWINblTcIZRv5vGi2PYaQXo8D4gAR/pQ/bp3cb61Jkic1tZQ8NHPhxbIxUnIilU/E X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2017 17:47:20.1698 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0158 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 9/4/17 12:05 PM, Borislav Petkov wrote: > On Fri, Sep 01, 2017 at 05:52:13PM -0500, Brijesh Singh wrote: >> So far, we have not seen the need for having such functions except >> this cases. The approach we have right now works just fine and not >> sure if its worth adding new functions. > Then put the call to kvm_map_hv_shared_decrypted() into > kvm_smp_prepare_boot_cpu() to denote that you're executing this whole > stuff only once during guest init. > > Now you're doing additional jumping-through-hoops with that once static > var just so you can force something which needs to execute only once but > gets called in a per-CPU path. > > See what I mean? Yes, I see your point. I will address this issue in next rev. -Brijesh From mboxrd@z Thu Jan 1 00:00:00 1970 From: Brijesh Singh Subject: Re: [RFC Part1 PATCH v3 16/17] X86/KVM: Provide support to create Guest and HV shared per-CPU variables Date: Mon, 4 Sep 2017 12:47:15 -0500 Message-ID: References: <20170724190757.11278-1-brijesh.singh@amd.com> <20170724190757.11278-17-brijesh.singh@amd.com> <20170829102258.gxk227js4yw47qi3@pd.tnic> <0810a732-9c77-a543-ffeb-7fd2d8f46266@amd.com> <20170830174655.ehrnmynotmp7laka@pd.tnic> <8155b5b2-b2b3-bc8f-33ae-b81b661a2e38@amd.com> <20170904170525.toyulxwaevef42qe@pd.tnic> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20170904170525.toyulxwaevef42qe@pd.tnic> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Borislav Petkov Cc: brijesh.singh@amd.com, linux-kernel@vger.kernel.org, x86@kernel.org, linux-efi@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org, Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Andy Lutomirski , Tony Luck , Piotr Luc , Tom Lendacky , Fenghua Yu , Reza Arbab , David Howells , Matt Fleming , "Kirill A . Shutemov" , Laura Abbott , Ard Biesheuvel , Andrew Morton , Eric Biederman List-Id: linux-efi@vger.kernel.org On 9/4/17 12:05 PM, Borislav Petkov wrote: > On Fri, Sep 01, 2017 at 05:52:13PM -0500, Brijesh Singh wrote: >> So far, we have not seen the need for having such functions except >> this cases. The approach we have right now works just fine and not >> sure if its worth adding new functions. > Then put the call to kvm_map_hv_shared_decrypted() into > kvm_smp_prepare_boot_cpu() to denote that you're executing this whole > stuff only once during guest init. > > Now you're doing additional jumping-through-hoops with that once static > var just so you can force something which needs to execute only once but > gets called in a per-CPU path. > > See what I mean? Yes, I see your point. I will address this issue in next rev. -Brijesh From mboxrd@z Thu Jan 1 00:00:00 1970 From: Brijesh Singh Subject: Re: [RFC Part1 PATCH v3 16/17] X86/KVM: Provide support to create Guest and HV shared per-CPU variables Date: Mon, 4 Sep 2017 12:47:15 -0500 Message-ID: References: <20170724190757.11278-1-brijesh.singh@amd.com> <20170724190757.11278-17-brijesh.singh@amd.com> <20170829102258.gxk227js4yw47qi3@pd.tnic> <0810a732-9c77-a543-ffeb-7fd2d8f46266@amd.com> <20170830174655.ehrnmynotmp7laka@pd.tnic> <8155b5b2-b2b3-bc8f-33ae-b81b661a2e38@amd.com> <20170904170525.toyulxwaevef42qe@pd.tnic> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: brijesh.singh@amd.com, linux-kernel@vger.kernel.org, x86@kernel.org, linux-efi@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org, Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Andy Lutomirski , Tony Luck , Piotr Luc , Tom Lendacky , Fenghua Yu , Reza Arbab , David Howells , Matt Fleming , "Kirill A . Shutemov" , Laura Abbott , Ard Biesheuvel , Andrew Morton , Eric Biederman Return-path: In-Reply-To: <20170904170525.toyulxwaevef42qe@pd.tnic> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 9/4/17 12:05 PM, Borislav Petkov wrote: > On Fri, Sep 01, 2017 at 05:52:13PM -0500, Brijesh Singh wrote: >> So far, we have not seen the need for having such functions except >> this cases. The approach we have right now works just fine and not >> sure if its worth adding new functions. > Then put the call to kvm_map_hv_shared_decrypted() into > kvm_smp_prepare_boot_cpu() to denote that you're executing this whole > stuff only once during guest init. > > Now you're doing additional jumping-through-hoops with that once static > var just so you can force something which needs to execute only once but > gets called in a per-CPU path. > > See what I mean? Yes, I see your point. I will address this issue in next rev. -Brijesh