From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966411AbdKPSBB (ORCPT ); Thu, 16 Nov 2017 13:01:01 -0500 Received: from mail-dm3nam03on0046.outbound.protection.outlook.com ([104.47.41.46]:10443 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S966208AbdKPSAh (ORCPT ); Thu, 16 Nov 2017 13:00:37 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Janakarajan.Natarajan@amd.com; Subject: Re: [PATCH v2 3/4] Add support for AMD Core Perf Extension in guest To: Borislav Petkov Cc: kvm@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org, Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Paolo Bonzini , Radim Krcmar , Len Brown , Kyle Huey , Kan Liang , Grzegorz Andrejczuk , Tom Lendacky , Tony Luck References: <5113a9d6e76d2c6050c1fba4007068340321521c.1509985085.git.Janakarajan.Natarajan@amd.com> <20171109183425.rhqc5wrltznt5tcf@pd.tnic> <07f23e5e-2747-b0bc-1b93-f83f3982649a@amd.com> <20171115190755.5n2zskcr2d4bmewp@pd.tnic> <20171116172520.4lgdvpcdxuxenxc7@pd.tnic> From: "Natarajan, Janakarajan" Message-ID: <2c785f9f-faac-58d5-2efd-3fce80d24c18@amd.com> Date: Thu, 16 Nov 2017 12:00:11 -0600 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <20171116172520.4lgdvpcdxuxenxc7@pd.tnic> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: CY4PR04CA0031.namprd04.prod.outlook.com (10.172.133.17) To BN6PR12MB1666.namprd12.prod.outlook.com (10.172.19.17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 44749055-ac1e-45a8-e307-08d52d1bef33 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603199);SRVR:BN6PR12MB1666; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1666;3:YXY8iYF0vUqR10ckgE/XCzj3L49lhh9X6Idbi4WNdPUeJVlqtm0+WnKXJFQCLPhR/1AB1o2YzAVOYQI8FmGrsz7VU7K6dlrd8Ip9KOjRx4nOw3QuVqLjNX9Qa6H06DFR4V9skaCZr+99LRqla2qDod29DXe+xXJn2pPKkXsd3YMhAebqG94+rhITW6hOyq4NPGxuyoLBhnnBk8RVotuHT5dh0lRQVpsRzhfHq1oX6JQwaqkcg1rOuD/ATi6wVjeY;25:4+115gy4KqB3KoIV1XSR05r5BYnRWCKrVH0gI4u32H0ds2kSKA77mxWWNk9IrqKTTgDv0mCmLbumrlTTdiugDMF88fLA3uklqYlq7D1su1/zC9295NXPGCj3latenRGJp5xTK2S2UkNK2B7sonBVqsSaQLN56L6bisqH6WALtu6uzm54sFRkiHISnOdt4LSbA4CnEIxzZrv07PPOGn6xC8VP1ta9P+/IwjBV8mwa6xkcmAkHIveMX9grhUBf+AnMqVyrYGKi01HCOIo+glYxLam0WeTkcDTjdaS5/uXwuxsnxPqYsfKdBgcsiI1smN5PhY7idSQw0tbDMTNKe7Zi5g==;31:fYCMD8jqzm7skKN/zN5jDLHFM1VVhvlG4dJLRbya1C1Tko13K3IN90ib2VKRsAkr1NfVtotbfACUO/CsVtN5eRef4thh/XYRDkyMu1AcqVQJyy6BvWiqX7wFRnN6Sg8j7ErvtP19P8GLNzsAMnapUUZ2U1lhomr+uWj45oZ0f/+s/KCXQkLhEDKcTBYn2qX1Ny37VaBs02gIWjtpARShmJSzPKWI1D3iIMJ4KE1vrAA= X-MS-TrafficTypeDiagnostic: BN6PR12MB1666: X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1666;20:D72QHIREMhJNwWv2SctL9iD+KD2BMvWZLau2Oy8OFdm6+z/BXA1QHVLf6gRJC64ltHSdosbmBXoQNp/9TlbEIDFX30/OuePeAhFq52ReqimOv99RMGex2xrOyyrJnGBDjZMBVGcc0AvFN+O9rvNClw5v7t5TdodbmrvMTJYzftRi9aEOJPahNRir009AAbAlieoXPk2id9AHq7KA0tzEqVM4qS0rb3JqOiJ5p/UojT4SoUEBsEafXgoNZSj38Yr5tLdZ4ZqFNskNSvS4uUuXMqpUpSJRPm5rDCGHIXWz31vud9fh+qxxAPo/vdEfBpuZZUxe4wK4tiqVxC2Y0/yUGEXm6hBel66CKrmTYmWr5BNsVc/jR1kDhBRpnfJY3uMUD45LglMaurdgNtf/HvtSPiUKcJhkBa1kPPfsPVDnGelVRnulHxq0gT7pleM0rBKv1Y0cIqKC/2sjgP7hq4XzD4/zQjihcssPFHuDmrli1V1aKNcKvFfn4zMsK7/KoVZh;4:qK0XjX4M20mCfUzQrzPglH6LQAqiV9sqccNODnEuiA9BdpFpQBGKMagUTAJpv3z7eefU1Tvfe+Md5eS3Tog+201tkR9cFXjcrbVM+3zUlrvR+cWLN3ucFrw1BgkdalhVsHB4n0Dvdxe3UelXr782cA/0XYIdUQZ/Ygdlc8aPOU+0UoxfJROd+GeMD8mtFZleRcEvghS1MouEpTWi+6VeFpXRnu+mg3vg1ukvk2IQwqgDFIKp7mj4dahGqY0lRUTZIQY59nVVKKEMdKcgpeu+kg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(3231022)(3002001)(6055026)(6041248)(20161123560025)(20161123558100)(20161123564025)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BN6PR12MB1666;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BN6PR12MB1666; X-Forefront-PRVS: 0493852DA9 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(6049001)(346002)(376002)(39860400002)(189002)(199003)(24454002)(16526018)(189998001)(81156014)(83506002)(67846002)(106356001)(33646002)(65956001)(90366009)(65806001)(76176999)(23676003)(31686004)(47776003)(66066001)(97736004)(229853002)(6486002)(50986999)(8936002)(77096006)(105586002)(81166006)(2906002)(68736007)(54356999)(25786009)(101416001)(8676002)(93886005)(53546010)(64126003)(58126008)(478600001)(316002)(6666003)(65826007)(2950100002)(50466002)(72206003)(36756003)(4326008)(6246003)(230700001)(16576012)(5660300001)(53936002)(305945005)(7736002)(6116002)(3846002)(31696002)(6916009)(86362001)(54906003)(7416002);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1666;H:[10.236.68.193];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjEyTUIxNjY2OzIzOjNuRGhUamtIOW00bXp4ZVJET3h5UmJkam1Y?= =?utf-8?B?Z0xNdzBWWjlVUVFHYXgvbjQzVXp2Ylo3OWNrZjJUQkFQQ0NjVlhHL3lad1Jl?= =?utf-8?B?VFVkMWFEemFnVmcxK1VqZGFDZFo3N2Q3OGJZOGFabVc5eklNRERxSWFYOUo1?= =?utf-8?B?SUM5VGxyZmRzelBOcE8yaWNRV1J6Z1Zudm5rTkM2ekRKNlUyYXN2NStRR2JX?= =?utf-8?B?OExEMFJsRG5lOEVEOTltMW90c0hpc2ovVm9XcWJ3NjczWkhLUk13Ylg4NHpi?= =?utf-8?B?NjNjNEkzckVWQzk1Q2c2Ym84cnJjM29Sc2tJQnErVE5yK0ViL2hXa3VkYk1M?= =?utf-8?B?bXVVQWt5eHJYZ0lJSWhVZFE1cDRUWmZBbE5aQktSOHZPQ1pGMjBCYjdCTEFM?= =?utf-8?B?d1E1QlhEQXN1NlNEZkEyYWZwaFBrc0pFcDdwOUVZekFXVmJuakdCN0hyUXRJ?= =?utf-8?B?YXE5U21aSXZ2bnRUUU4wTklrNk1OZmJLSUNKeWZ6ZjdqNmM1K05ibEpwclhO?= =?utf-8?B?VzQydTl4N25xK3JLc3dRTXg2ekY5ZEJsdG9NUXNTVm9KL1FRc05OcGNUc2ph?= =?utf-8?B?TUhLRnh3M2ltR3pYOTRlZTBQRE9sSFQrTXJrYURXSlVINXRxWjRtQmxaNFMv?= =?utf-8?B?TVFNWDEwNVRYNkoxU3REOExqRVRTamt2aDJHNG1uUVJSVHF4ckg4VnpNdlVs?= =?utf-8?B?bHRPdk05VXBxbE1MN3ZWZ1MxRDdaLzlpeWF0c0paYVlFdG8wNUhqWkI2cm0y?= =?utf-8?B?cVpyWThtMUhEY3hRa2FZSlZ1SWNvcGZiWmE3c1dxK1hPZ3F4WTA1WEFpRTJ4?= =?utf-8?B?Q2llQXVFVURIb1JOQ1paK3BUT3dhUHdrZzBVb0s4RW9ORHpYM3lxaUwxY0ZB?= =?utf-8?B?OGJKZFBqbHlNNUNTcng5K2hjMDlKUDNCOW9zSzBlK0pYVDJoM1IyM2hxNGkx?= =?utf-8?B?Uk5JNHlzYVBOMTFEZFI5WVRqZENoUU9MNzlBeC9jbmpyQjJOSGN5bWhab3Ja?= =?utf-8?B?a3FpK1Q5STlFM21wSWVBUXNNelVlNjhOMlB2aW54eUVvQmJrWFdCREhhRTky?= =?utf-8?B?UjZ4bHR3YnFncmtSVlZjNStqUFVVcUpWZ1BoVzBTMnE5eVBsVm1jSk9XeTd2?= =?utf-8?B?TVpPOTMvNmxJQ2laWTFGUDg3eU9la0hFZENQL0NrQy9RaXY4aEc1UlFhN01U?= =?utf-8?B?bXRjbHI0eDJPOXpSZ3NMQmNwaGRIclN2ODMvaXY3QkRXbDFxU0tXOTVyNkVB?= =?utf-8?B?OGhWc1JLOUpoNFZOdlNYdjd2Q0FEMkF2bmdGM2psMFBxRjhDRWhPRDQxQkN0?= =?utf-8?B?YzN6WnpWWWg3SDRYZnkySXRNUjRsWDR0b2w1TVZtTS94QkV1cW44ZHNvRDFv?= =?utf-8?B?S0N5cTZ4WE5ZTGo2ZXpTdjBOeTV3Q3BTbWtuV01zMGx5bCtWU3NkRUcybUYy?= =?utf-8?B?QTE3WnRFQ0hNdXZiRE5qalNvMS9YUzZlRnFGRzEvOWl0MmR5aGtXK2NCU3Fo?= =?utf-8?B?Nit6RUJJTml0K3duN3Zzd2R6dEYwYjFOZERGVzJmbDl2UTRKek9HaE1ibk1B?= =?utf-8?B?NTQwT1hyY0N4VE1wZGcycUY5bWZvQlVDV0x0MDE5c3dJTGhGSTBjYy93MjRO?= =?utf-8?B?UjU5djFPT2g5YlVmY3RSbm04V25NRk03eVNBSnZiYVV5dm40TUNKanpsSWtv?= =?utf-8?B?V0V4ZUt4WXVUcDFJeDNDMU5TNDhkZ3hzVUtaV2JpK3luUmVWNTRza3JNQTd0?= =?utf-8?B?MzJDOEV4VVNSam5WUEQ2RFo4T2JNWTEzRlhVTXJlTm9kWm04dEVLakladVFp?= =?utf-8?B?V0E3eTJxZnV4TXhmWi9pcWhycFl1akJpWmxabEZjSXZDemVORm4reVZma1Js?= =?utf-8?B?dGoyeCt3c0FvZVpEeGZqTWpPYmt1TFR2V21IV1hDdXBrTjF5VWI2T2VNdzhG?= =?utf-8?B?L1BqenhobUFXb2JXcWI0dlVHZk9oRityZGZQWVBFdzl4UDlXTkI2K2JWcUZU?= =?utf-8?Q?Vy4hs0?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1666;6:2099KibSjao+CCVm0UoYWbY+yg+FKEdSumKs93uWJ1h8XQKj0r177G6H9AQrxcP8QmBGN8+CcPqxQnPnBhFNBVuhmMCj7M1mqpk3Nw99kZIe27X97PsBwBOBbmsYOJkT1EAAT747IztIXY9rggJJ5hoyHk1hZbp7eI3BVfyGsw7GW4TZM47NGbLMBeo1W1D8Uv0iWICOds5aQeoZ01NWV6801OBfIskyVn9ZPshs2PnfKb3yx0ElBaKu6kGr+NSjKSE4Rw/Q0w6A8acoDJ+6tUcmrwd/XHK+5ex/8oMcFjRQcus8tRaVqKWfkvUW9OAdb43WFZlMkwno6f5RJWqSd4I+JqjWdEKq9e9uWF53T2o=;5:7QUwtP0/shjoerXUhNoT6nfTLNtJcBnfeHiXmVuxOlmhWs423UKKLeX6BlTLG5wmbeqE6lQICdzZIw2FFbloq0ySy8nu66aTNrpPa5uIcIVaaPtrg259URe6Kb4fbgvGZAsOIHkooTqPJNyPLbf5x5jUoTLsq1zi6Xy1NhFcDmQ=;24:/69EzmQafYXItPb74vP9mgBJmdkthqYxZUTpiMiI0T7ATsKoM6dGbWz+Mvdvc+2f3KWlT0cth6WOJ9nOfHNzAn+pbuarSdmaoiFTn2o0TPc=;7:k8rwyUZrJStodlW+h6CS8aI9U9tH0CEVLmhe8F4pEfr5E7XP5nniiiW+V1O8u+Pq/AyDek+7gLe8YWokH/y5P0F+B88D2SHwysLs5/TFit3n8aMkS4u/fxzAZnDs3/7k9xLXeZXzakNyZkfAGz9wKK2tBzIm14L/8Jfp5Sc9JbH2GO7+N3Anl0RHwvR69eH3n3IdUU+v4Xrw8HzUxiCn38RZ653J929UeKmSM+YQF+23/c6w43Cxh7ngkvKjcnZ0 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1666;20:CuxxDJsdgpioE8TJzdNG4Q9qS0hg7vBBcHbxkG6WDIE8ZydvfOKjqxob15D/lnAAoAT6Q0jGrLTJJzrGn21Qt0E6QPZtotekOiLIZaRRyoeGO40lCkkYsNc9eU3KQwaYdlR7QyZxYKXmdSxAXi2ZRHc9Lhk2UfVvGnvLwfQreY4B8b2FRIG52do/0wmlJ7TV/N80f6czpSZHal0KqfXyIBFvEl72KSrTu0RKwX6oe7egoc54FEYG5uABmm/Ph3Fq X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2017 18:00:16.9720 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 44749055-ac1e-45a8-e307-08d52d1bef33 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1666 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/16/2017 11:25 AM, Borislav Petkov wrote: > On Thu, Nov 16, 2017 at 11:13:47AM -0600, Natarajan, Janakarajan wrote: >> On 11/15/2017 1:07 PM, Borislav Petkov wrote: >>> On Wed, Nov 15, 2017 at 01:04:03PM -0600, Natarajan, Janakarajan wrote: >>>> So, when the amd_pmu_init is called, a query to guest_cpuid_family() gives a >>>> value of -1. >>> And that is because...? And it can be fixed to give the proper guest family I >>> presume ...? >> Qemu initially creates a vcpu with KVM_CREATE_VCPU which in kvm initializes >> the pmu. Later on >> the cpuid is set using KVM_SET_CPUID2 which sets all the cpuid entries in >> kvm and the pmu refresh is called. > That doesn't answer my questions above. Ah my apologies. So when the pmu is initialized the cpuid entries aren't available then. We'll have to wait until the pmu refresh is called to get the family value. So there is no place to fix it. The setting of the nr_counters based on the family will have to be done in the amd_pmu_refresh() and not in the amd_pmu_init(). >