Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753947AbbGTMOW (ORCPT ); Mon, 20 Jul 2015 08:14:22 -0400 Received: from mail-bl2on0128.outbound.protection.outlook.com ([65.55.169.128]:19087 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752058AbbGTMOU convert rfc822-to-8bit (ORCPT ); Mon, 20 Jul 2015 08:14:20 -0400 Authentication-Results: spf=pass (sender IP is 206.191.229.116) smtp.mailfrom=microsoft.com; linuxfoundation.org; dkim=none (message not signed) header.d=none; From: Dexuan Cui To: KY Srinivasan , "gregkh@linuxfoundation.org" , "linux-kernel@vger.kernel.org" , "devel@linuxdriverproject.org" , "olaf@aepfle.de" , "apw@canonical.com" , "vkuznets@redhat.com" , "jasowang@redhat.com" Subject: RE: [PATCH 5/5] Drivers: hv: vmbus: Implement a clocksource based on the TSC page Thread-Topic: [PATCH 5/5] Drivers: hv: vmbus: Implement a clocksource based on the TSC page Thread-Index: AQHQwpGwHZJNk2cdfEiVMytWk3awsp3kQ4mw Date: Mon, 20 Jul 2015 12:14:11 +0000 Message-ID: References: <1437363419-3511-1-git-send-email-kys@microsoft.com> <1437363447-3554-1-git-send-email-kys@microsoft.com> <1437363447-3554-5-git-send-email-kys@microsoft.com> In-Reply-To: <1437363447-3554-5-git-send-email-kys@microsoft.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [141.251.58.5] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD036;1:apiI5iS7orzdbOuHklDkJ6DauiKW9WVwExIhTzXMuIhFNrlz5wjCkQQHoORorOZ/YTbHatbKsDQikWDSO06+i+K4w+B1E7pIAd4TRkZwbU5uAGVzrtmL9GBkDqGmyCr7HLctBvXDlbMLxpwJ152wdGOcZQyXrmcvzRuKA1n9E2iNKIIA8dmWus7zZ6HlHtRv70im5IrYIn5LxltYS3vcjiCzMzuBbIoSv7J8I2r/RBswtLJy4QITLb5NEF8BGYJd9S/BVIfE5wkxSvriah9hk+NuMsc0OFjKoXDvGpLu5lc3VVDcqiHEluqvdT+IdqeFduBWQAPCdbaYmRaQ3wbOAHVkPynweKRkXEKNkAWIEdhWbYPPr8xue3i+mrUxW1uW+7h8JFJqUDrV7x6D9J5V2Qod66wCJ0OxXoOavI53yeY= X-Forefront-Antispam-Report: CIP:206.191.229.116;CTRY:US;IPV:CAL;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(438002)(199003)(189002)(97756001)(46102003)(46406003)(2900100001)(107886002)(2656002)(189998001)(106466001)(5001960100002)(2201001)(47776003)(92566002)(24736003)(66066001)(2421001)(33646002)(87936001)(2950100001)(5003600100002)(102836002)(106116001)(1511001)(77156002)(2501003)(86146001)(62966003)(108616004)(50986999)(19580395003)(86362001)(54356999)(76176999)(2561002)(23726002)(50466002)(6806004)(16796002);DIR:OUT;SFP:1102;SCL:1;SRVR:SN2PR03MB078;H:064-smtp-out.microsoft.com;FPR:;SPF:Pass;MLV:sfv;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;SN2PR03MB078;2:L3AALBcZimwZJw7aOTLjFBcd37z7El5nLchQDvFGZzYsNEKvIpmu2HofMtqTVFKp;3:dqr3AiUmJmbPVbY0cIGMOnFRrAcV7Za4CXQN0NjK3MkNrVruACxrq5aImMTZnC6wrxeAbUCXZy593snztSvyCgOjy++wJKuG/tt9+ko/6x0xWTTcgJOfpN9+oujt+tdh92frrKFMNUKnitP+Pmqgsiyk9axNWmlkwGeVIMSuP7UKJQd1BGHgdSbE2ACZarP2BtUObHP6kei++IJwvDNDIE1mWl8+daNciGnVELk9+YTZdSVURKYjSserFfrvLKkj;25:sLfwGZ4hEQQQlHkE4LdyB0QGH0EUZC81ZEqjBrTPvYBwnB3SESfxjK3KIw3NCG7DUo53UUj8mCiAttHcEpJfUOW9W2tEMDo9ypA4n0hyAZZDVReMUno0pZD/fRDjf5EIPUZeLRX4vTZPvpE6aZh8I1R14BmX1RfaOLpRF62eHdDzv/oLTyWtMqptLg9aGmt9fM6DFwehf/jaNk1z5U6+JqQ+JL127cdC//gQKf2F0xSd2/zSuNghke0s90PlTqt5 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN2PR03MB078; X-Microsoft-Exchange-Diagnostics: 1;SN2PR03MB078;20:fCXMUGAdltFx1KfOHzN+RG9lrnZDZ5DUHsqrWfwiSarBS9OMbxnyH+0BwnCCvnfbENWdMu5ieaPdivEQUl/a8k/FtiepAexL42lTcCByi4N7mN7FhN4arD1iGo7aJxYNAK1//tp52dIeI6WYKq5gp96j7/z7QW5xP0imMA6x31PQX8DB+XyFgYMB1DborYyvX7Nx2gaJSMpX2TdEj5AzEKvsaj8DT47Wu53Ngu5JtEjHQg7kUSXxk6LUWhIS1ro/xh0KLp3j3ryrhPJdQjpX1Km0eEV82ANeupsNYzCYrA4mfUNHA6n5vcpUhUyJzb6gWbSzwPoKFTZTLH6F6XQhOAJs+gRkSfTS+T/EcaUItGVjPApXlNof4uRQHmPTBfTmpQZFKoAXX6kKiiM06uYpR+/eq86xMc6GQMHzf6RbZILxn4wU38TMM4Og2dmVAwW6ke7Pn0Sp2mRrW79nF+1tenkdoUmlnrh4iqxP6BOV52X4/XvDJ8019vdnLgNLdEKh;4:gvId7uZK0mfmk06IBnsVnVuWJfKsGsVs8XpSr2efqg6FJ48wId8Oo2bjDpx8d4pOb6gvZy20oXo6g2fuvdGssiXB98DbhEZZrz1+3XTfIsF1ck7AabT0cvyewX3GW0pjY2tdiC7rMrrzD4jRuEtaw4dO7wO77DWl+lMByxfDwWm9kq8e3jTEIt/24EYMcZeslvpvY9TY2ahpyhYHEP3CjpIXU+Ya/5JE6xu8Q/aZ5ca+tQyVJAb2K6TodBWuFt06fmx37hDn6eVe8hsf6jM1MEXdMaMbnnKcmDiV+vQKGj4gVfR4Rt44QlLFUt8yKVQB SN2PR03MB078: X-MS-Exchange-Organization-RulesExecuted X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401001)(5005006)(3002001);SRVR:SN2PR03MB078;BCL:0;PCL:0;RULEID:;SRVR:SN2PR03MB078; X-Forefront-PRVS: 0643BDA83C X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN2PR03MB078;23:HMpxWkXuuoLkm0bCeHzCa403TvhA0qtm/JVi1wPqrg?= =?us-ascii?Q?ek2gmKq+7jN3OkC0z8OQk322lbKKraJAMlLSXRkk8ILlxN152xoIPOPyn6/A?= =?us-ascii?Q?c4lmrRJwtqb2CgDm3LOOFwgq9eWLGCFln0e/PenZT0+OY8LffBBIpJl/hvz6?= =?us-ascii?Q?aIIraIXXATpmtZPoBV6ZO1RrQtYC9CcOLmAyFjjlbsJiqDJeNJ8PyKXuSQyT?= =?us-ascii?Q?GaL4nSTACY3zQvJ55akqdrOcwusNMEpoBNGUT+AJxo2EDATWaH3FYF9DLf8k?= =?us-ascii?Q?J8xwBgjQDO4HgVsxpM6XLoFrYLP/wrFqHQA5k7uEUT1RdOOzFm0TCTWj4Hip?= =?us-ascii?Q?cABBKlR10gMnWwA0O+2c0M5MsRqE9bncrnOwN3NKyLlTnf14nIMAhf4XsLce?= =?us-ascii?Q?k4HHoHQr+VUIioxNLjgTCqQMGn5ZE3qrs92nXBd9U50Oyw7RpBcidxE0aHLI?= =?us-ascii?Q?msEA5QDv9CMZV6vhiHaZhQD26UV4wlPou8Zsa1ioJZVgDgv8Ba6xi6tQiwZ6?= =?us-ascii?Q?hrlLd1hRtymzQCrxHbol4VRtLY9GsUvn5HtCoa/6ujGco4YbvJDUBv4uVK23?= =?us-ascii?Q?QL8V8D+Oa/r4Ajto+EIk8HZpxTNRTNzL0++3C0UVDO6pyhoVyyeHjSWUwX56?= =?us-ascii?Q?87IoNhiIWUV4yhPAmxyILUu3lobhGxwBY1MJWAfDCp9U1W0zSyDI3txV4gmL?= =?us-ascii?Q?iNT8OJazh/6M9NKaaohNLx3IK8gnb9pgsM/WqMdXXLmWWRsCg9ManlBZORm8?= =?us-ascii?Q?IMQKhVpqHTmEypGEZcU8E1dEIT9tvRWF4FBIvpPolh2f+M+4hWDLnEt2DKEs?= =?us-ascii?Q?B12gB42/Yb9m7fXepRDfK7fxzToQ2yToWPsH8epjVXfxUJSIbVU3nQufAkty?= =?us-ascii?Q?XoFW1fIkouWmZ16Cktk6Huf6doLPWdC3sIQj0q7S2vbTstUSTCB3U5U/+sfG?= =?us-ascii?Q?H4KbSOVJxMZKZMSZ/E0z04V5YaKreQAEuYnyqhA0+jE4m3S4NY0PJdh7khK+?= =?us-ascii?Q?NdaM1VDIQWUw4eaTKpmWn0oSTRARtFY0XbQjDCNmSEHbV+8wQzzkAFrAzUcS?= =?us-ascii?Q?iJP/E=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN2PR03MB078;5:0xHA3jKspRW3fO6MHsmv5jnxTD5WcEXF8wHH/mIb2Akwijw864geJBFHCtEy2VD6IRGnohxjNDGWRWgKDie8RLh80/I7Zj3fPCkyarARf8m7DdQj1T+CrCneSKML6WFJkA0rIByXKrlui3qcUrWMdA==;24:XVwPEjqRLYGS3NOmdV1swD6djMTWhn3q97cXfBcnvaXbOw4WhsHwudbXhQOFpPof+eyb5mlXzkpYXPbWFA7691kiqLLPEWtMfYSfWcOVeTA=;20:ACF7847QvZDgrOGnlVpJVwzUbj3b/94ovzQAK6zQY4thuYGgYWz8xR5fXT1rA/eFYJjrotR3UvqTLsR/Z+/lRQ== X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2015 12:14:16.5181 (UTC) X-MS-Exchange-CrossTenant-Id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=72f988bf-86f1-41af-91ab-2d7cd011db47;Ip=[206.191.229.116];Helo=[064-smtp-out.microsoft.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR03MB078 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1515 Lines: 41 > From: devel [mailto:driverdev-devel-bounces...linuxdriverproject.org] On Behalf > Of K. Y. Srinivasan > Sent: Monday, July 20, 2015 11:37 > > The current Hyper-V clock source is based on the per-partition reference counter > and this counter is being accessed via s synthetic MSR - > HV_X64_MSR_TIME_REF_COUNT. > Hyper-V has a more efficient way of computing the per-partition reference > counter value that does not involve reading a synthetic MSR. We implement > a time source based on this mechanism. > ... > diff --git a/arch/x86/include/uapi/asm/hyperv.h > @@ -183,6 +233,22 @@ int hv_init(void) > > hv_context.hypercall_page = virtaddr; > > +#ifdef CONFIG_X86_64 > + if (ms_hyperv.features & HV_X64_MSR_REFERENCE_TSC_AVAILABLE) { > + va_tsc = __vmalloc(PAGE_SIZE, GFP_KERNEL, PAGE_KERNEL); > + if (!va_tsc) > + goto cleanup; > + hv_context.tsc_page = va_tsc; > + > + rdmsrl(HV_X64_MSR_REFERENCE_TSC, tsc_msr.as_uint64); > + > + tsc_msr.enable = 1; > + tsc_msr.guest_physical_address = vmalloc_to_pfn(va_tsc); > + > + wrmsrl(HV_X64_MSR_REFERENCE_TSC, tsc_msr.as_uint64); > + clocksource_register_hz(&hyperv_cs_tsc, NSEC_PER_SEC/100); > + } > +#endif Should we disable the mechanism and vfree() the page in hv_cleanup() for kexec/kdump? -- Dexuan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/