Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753982AbcKPUqD (ORCPT ); Wed, 16 Nov 2016 15:46:03 -0500 Received: from mail-eopbgr20044.outbound.protection.outlook.com ([40.107.2.44]:3124 "EHLO EUR02-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S934169AbcKPUpk (ORCPT ); Wed, 16 Nov 2016 15:45:40 -0500 X-Greylist: delayed 141625 seconds by postgrey-1.27 at vger.kernel.org; Wed, 16 Nov 2016 15:45:39 EST Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=cmetcalf@mellanox.com; Subject: Re: [PATCH] clocksource_cyc2ns: avoid overflowing 64 bits To: John Stultz References: <1479315472-5245-1-git-send-email-cmetcalf@mellanox.com> <295ab33e-45da-af64-6716-c8f387a0cb20@mellanox.com> CC: Thomas Gleixner , Salman Qazi , Paul Turner , Tony Lindgren , Steven Miao , lkml From: Chris Metcalf Message-ID: Date: Wed, 16 Nov 2016 15:30:10 -0500 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [12.216.194.146] X-ClientProxiedBy: BN6PR10CA0010.namprd10.prod.outlook.com (10.172.16.148) To VI1PR0501MB2768.eurprd05.prod.outlook.com (10.172.11.18) X-Microsoft-Exchange-Diagnostics: 1;VI1PR0501MB2768;2:G310V+uMc2kIbMHbrvI5Nho9c9HqCYTclGO/xUpkKTg+A5GKFrzynQQ8LCcJ95/SdYcrTTe/7FGKxAknl4LcT4CM8+JWnQxi9Pc0zI/7gP5BIiFA/rZXgKvprsndNUZVbYcWY5yMQ2AmQWUxlvIKFuYaw/12r4vGaCz3Vcc1aBU=;3:NxBdDonIsTdrjHAK6pdYNXwm/Uwahpgc7FEfVSOXW3HcYubg3YL8HH0q/Wp3E43TX5+PSFHPkkiKJr6TyYoO5JoNMlf3hMzpr5oDDrYXAjsq0oNgWls/v3cADafE/cN4CSgYSF7vgcG1IamJJ5nuVF8KuM9sxSRDOgVK8ZYXT4Q= X-MS-Office365-Filtering-Correlation-Id: ba6e3e76-b78c-46e2-fb45-08d40e5f62f9 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:VI1PR0501MB2768; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0501MB2768;25:nMuup3U/n0PKaoCNmVCDgC6YEb3vyX6OlHm5dWHnWJ5DNM/OS4QwU7+4jKvMMNHg0PUOB4usJ9LBW/OnHYGggd88oj0c6RPnzKtVriXZTw8eyty/CQPkkdqMxJ2eaIfxPe+IyRDjjLkbmzCa7CoRSdA9aYkrvY1AKdf7CY27VPoBaqQWb5mNBbqlUxDwA4h/qxbAZnFjGmrk6IxucMIU3poAORS1bkyHQwMEt/Jh+5NovOBhSExmY35WorZ7fxIMPs+YyRMFYColrrG8vAewc39eTh5sid6OGi+/0VLzCJ3tx1TeaEkVwgd1ySha4/ltRQ15nPBzU0C/N3tXyTH4LJwQYyU939gnMdoN8mmepXiM6XNh91tGUNN1WdAMhkmtyL8mRO/gcDPoOkzBSeC3AxjOCx5qDlieiQr8vWQ3q9STpo54riCk9cqKItq+E+LQkcGYT4+Q9OKLC7YXwC5CV/wdRuS8NPbz1T0jFFFbwW/B03rxwDTYFAPi/RDB6gHtCx4Z2/fadjvQXlRiwduG9JeZ/JEFhpYKhErucq8LTKBQxqfi2/uvIGrXURbCwJ478onsQBOkuqDuAmqZFgLg+NhJKfXiZH1C/ivNTgtzRKM4foNlqKID3j/UBSJDLs4Q8u1Odg2lwZ1Ad4E5/fkHXCppHG4FqDiyXjpbIZsPERO4JHKe5VHoNsDQ6EP2sK58GlYseiMmcDBfHeTzMhZuiq9yyVJcmYEbKqf27bxByw854yZ4Ew/QZQWQBuBq7hpR6OPzMhYgTFqI8gYhVfEJFbi4lojJH1WIjZW+iWfbiT8L9W+6HDVIcnQWC95SgQnTVkZHUCIffbx0qMPKUIi1HLhPN2msDWXagGvxKcqpIU9XtsTkzOe5HS8w6KZCL+15 X-Microsoft-Exchange-Diagnostics: 1;VI1PR0501MB2768;31:+Af8gNamPPBQZybtBFnvo5efaUog2oKZzt9OEG1aZj7872D3JuSPbNWyKi1H9tm3kxtCq6oD+8vP63pOZvLfYtC821K4ZLCIATxJZ8zc4FEV36RPCQDPEvNpU7evvCf7GEuJwqpDD+MZjb5ptGtgpxFvPbOF+L5njfsFIH+OctWQF+G70lb8Y8hn0ubKRHyQVRucyMIEximHfeq3UQQ0gEGE1dOd1NFsIaguU8LeSl6s1lU6cORwkW4um9qKRNCj5rLbhkxufFbluRpyVqk8uQ==;20:QsBgS5P/pFxGxnlt0VacPRDtZ74fSKW/yfAVTA35NenDjgBr1tKvUnqmaNubHmOr5p1d9AKLDQzl/ZpX/mhTPKpxaoZKaaUVQi7dzeosz9Lu1wnmOjPZs3vb1PhWzBdQ9m0xzPXkOzwnjaKx1JTBvjn2a0l+LJwNb+0h97CIEe2Wb6zbedPBmqwQEJS1+owHrr3fdF9YtyxubWaV62BxL2KRMVOhY3dZAi5GM4m4gB20kh6tveOowGcExW8JQxV9SXgNh8yU633KcwVXR6wu4kBFue6oCNgF6TbRTHTunyMALfEbHIn+Q9wqv51FetbYB/n/mfxw7f+aPv4rEk/5f1qiuQLcUnkWCZpKHxu5CmJB02n/Vgay2KRy6487HTF0hoSJXT/yKY/ie4vMec/ByZV72xZQHXfZRQvXl6X90lC4+XhNo2C1ZtoFoaotVeKfpioU4aKfLN+Vx60+zI4dSHcPD3DQjlvAOATQE8xXV3voUiWL3LXD/g78btJqJZuE X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(171992500451332); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040281)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026)(6041223);SRVR:VI1PR0501MB2768;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0501MB2768; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0501MB2768;4:4A8ExKHyMLmZt3koHSQsHwx4kE6Gpcu9iM4EF0SVGaoIFZbrLvBbZgWKpvWX9g5gBObqucjARoUQWD0isNHHTcL1DFAOH5J9FYwGawiDhExR3fV98ewNzqENX8obahMt1UBWhmxJJlPXpwncdr0jQsOPcBxFGQiaFuhEim7I04GCc4XYb98MJDmp2dXPRI2vfLPHwgYM4jocZAy8XCVmORwtQTZsvWlGo0eU4SvOiUDaEzcjogI20GMSoGV0Xg4YFImOdRWHFYm02k038GavGjuXVkjsL+1hA70UHYCfN3nvEuNChBO99++4b4odRHx1LYzl2752wdGAx6sViF0jwB/pHDVQf3zRZLHAwNfi5aIsuZ7zvWwH0+/CT2nhtpulc/Tm2ICsUZNWrNpTDBVVgnf557aa/PzwmkNYQ9LqpMTlANrpdqDN7bSeu/kEh9A9XN4+t02WtgiFVJuU8DOqYI1VLxuK0pNO+c9yw/S0FB0= X-Forefront-PRVS: 01283822F8 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(7916002)(24454002)(199003)(377454003)(189002)(68736007)(31696002)(2906002)(4001350100001)(4326007)(86362001)(230700001)(101416001)(97736004)(65806001)(65956001)(66066001)(50986999)(76176999)(54356999)(77096005)(50466002)(47776003)(3846002)(64126003)(6116002)(92566002)(110136003)(65826007)(33646002)(105586002)(305945005)(106356001)(8676002)(42186005)(83506001)(5660300001)(7736002)(31686004)(7846002)(36756003)(189998001)(6666003)(93886004)(6916009)(23676002)(229853002)(2950100002)(81156014)(81166006)(15760500001)(21314002)(18886065003);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR0501MB2768;H:[10.15.7.187];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtWSTFQUjA1MDFNQjI3Njg7MjM6VWZ0R2xlQzZvSlRaclBPYzJoU2VRcWp3?= =?utf-8?B?UHkxc0JUQ2FLNFptc0hzVURWS1Z0TjJ1Zit1ZnlJVzlIdkxTTS9SODNHOWNY?= =?utf-8?B?YTZ0YzlXd0dxd0o1Qm1ESlkwUzUwcU50a0xrQmlKd0dOMWtWMWxpem5pcmYy?= =?utf-8?B?Z2NVSjJicjF6ZDhzZ0lCdENlSUpHS0d5Nmtpa1RjUlVuV3lyWkZ0S0p4MDlJ?= =?utf-8?B?YUFkenJQNUhYMW1WOWI4Njh4d2laNGxsNERDMkRqN2g5VmFkeUtlWHlqQW9r?= =?utf-8?B?WGU0VndQNmVRdmgxNlRRY2xqaHJTRHZ4SkREZHBsWVZDeW4yaFpBRDFmT2tJ?= =?utf-8?B?bUwzYUpGYXd2azVMUjhVVWdldGRmMEFBeGRWZzdxK3lEbDJ6Sm9HNGFudi9I?= =?utf-8?B?ZWlqSlJNazk3RXYwSVZEcGkwdkJqbmxMZU5hWEwxUVZlNWJxa25oT3c4WU55?= =?utf-8?B?czh5UW5yaXgzaWZwODdwa3NSMXZFWWRJcUZhM1diM0tOQTBHaEdKU01uVnVP?= =?utf-8?B?b3pyUFo2bm1VdmsrVWhQWVB0L29sMDk2UmhXeUhGYmFIM2xCZkxTNkZYenpO?= =?utf-8?B?d3Z6Vm1MNktNZE5TL1RpTjU5MTA3VzAzeDJMeHNZTmU2aXBjaldNdnRPSm8y?= =?utf-8?B?MnNYRGZoUFlSWW9IWHVKZkM5TmZNdWk4SVBTVWgrOCswUDBqS2lpUmhvTjFa?= =?utf-8?B?dHUvNkkwVGNPclRVbnFXOUhZZVVTdHd0UEZnZzFKUlhJSWMrUFlsZktVbklm?= =?utf-8?B?dm5wUWs5RzA5UStueUJKV2xCei9Sckk5ZHI3dzNqN1dyR3BTOC9vMEpDemVk?= =?utf-8?B?N3ZHTXJ1WmkyQnlMcm8vNStYVWVSNG9OZnhMdEtCWCtZRHJvYUwzNXNnd3Rl?= =?utf-8?B?RW5vUy8vWEtlVGdwMmRPZFpCOEhxWTdYYVg1dkNTT0IwdlFWaytiZHlLM1Jt?= =?utf-8?B?QmN3K2YwUWpISDBDMElOTzJtZG1KSlR5YVA0U25XeWd4UGVrbGdXcTQ4aTR2?= =?utf-8?B?RFh5Z2tmTElGVzdlTTUvREdudVF6R3RTank0clNGVXl4K3RXVEJwUzIrSzE5?= =?utf-8?B?K29odkRBd0RDQmZ1Mkh2MUpRUmlVamN3dSt1OFk3THQxaGcvUnQzRGR2bk45?= =?utf-8?B?UjZiNVBUQS9RRmtrdlUybDk1ZFM0UURKSnE4a1h3SWdGTGdVRTB2WkNUVmc1?= =?utf-8?B?N0hCeE9TWElEZmhVdTFJR0ZVUVYwTCtzQ3dVSXV0NWl5RDB4Mzd0TWJFK2sy?= =?utf-8?B?eTlmbzRXMDlnbEdzWCtqYWU1OVI2cllYeEhJQ0hLK01sR05iSDNnZjl0cmpn?= =?utf-8?B?RG0rZlRwc0pLTkZpQ3lFeWViQ0pGdXloRTBKVmNPWHJsTXFFREEwZ3dKZjV1?= =?utf-8?B?aWNrbVZDcDl5OGdJWnU3YzNZcnY3QlU4VTVZNTQxTm5RUHF0Qkdrb1U0MTd0?= =?utf-8?B?R3pDeWd1cmd4REszZWN1MVRhK2hFWnI1UXNJRzFtVVJIeEc1SzZYcU9vdVgx?= =?utf-8?B?ZEpSZng5UWlZdDhSTG41NFJWVkF6RzBxYlFrUzBkc3hjekl5T2dOWEZRN1Ar?= =?utf-8?B?blNLNzB2a0FXUmRQTEMzTmIyc1drZmcrelczU2cxTlhuNmorUkxmV1NVWjk5?= =?utf-8?B?TmhrMEdmZTF5REhUWGR0VDJueW96VnI3cWZ5Vk9YN0x5WnYvK3dGbFFldVla?= =?utf-8?B?RVB1VGNtNFMzVUZCVXdVRlFNU2RpRzBYVjJ2UDFiUU16NkFOVVdZYlNJUzN5?= =?utf-8?B?WU4vZW9hNmV6QldjMENiNFgrVXdUdVc0dEx0Z3dLZkxGd1pFaTRXeU1qQnQ2?= =?utf-8?B?QnJQcFRtdlVvNlUybjVpOEVvQVNhTGF1aGU0L1VRL1lTSkhrR29QT04rNFVF?= =?utf-8?Q?daPmDWo2asDFw=3D?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0501MB2768;6:3tcprQvY+Y0fLk9p47yDZ7intclQ/Zkh7glKR35U1hgbnFbWyoTTPmfop/Wh4ezj9l8mrPJI2Ivp7VsVorNrt52xl4QB3bTu/5l+IvTgrcwfXj9gVx6vNew305OqUukDTppbEwr6iRaw+C+i6oibMIfKU9q/QzFWEJ6PJE0s+9BhruSiLSftzGGWL66ThU5EtSzwDDdA0Ism2hGnoXr2Z8qWb114LeSw9uNdxidNwXW7lNucywdCnNT5wbmoFrOFLGCEI8/QHydw9xb0IERtACGSh1iSwE1iy+fSZU2FGiwF+lcKTs37I0sitotpr2Bek64It/dWD+9mcbN4mLcW6qQXXnSvfP2NhndlBn6B2Tk=;5:BmEza701rnGR4Z/OJghMvQs/y5579Mcinvh0InltINBrLIKTysSX9zqlzqxBWrICv+X4nCfg0V2TkoGjDqSU+yVO2V3cCnacyxmAoJ0dLMBRWZBlNFmq6yzKTdfVL44c9tj9xamPKT0pJPM8xy+Nmf72DIqfukFDsLUO1J9WUrk=;24:PFO7cjPpJJnKF+pppy3WFwzRRAbXhLyX0hOVoo0iju6HtgawwBfP/IxnDJsmYnsXKXAyXGAkAvHqYCH+FM2KGLuIV5WpveAHORNmDdOQmP4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;VI1PR0501MB2768;7:qOJHWSBLuIa0D+VwtscIsYb6n6BHuTSgsthOLZesmngFT3/YtHkc8F55BKr501optuz1Oo6Qs7NAqSkoS0sdpEVjP8KdMiB+nwvh8okt6kFpKSC529sFagMhBJQZuaHn17OT+17RnP6QSDRKY6qOhUPQv5MvogGYXYEVdXYv8UBVPfF0knQ5NIRQ1ehJ8xucNpb9CwS5kx4KmzGzTdfixklwV4CN9ThroG3aTJ5TfoCNyyVt1L1uiTocoyLZxPglhRmnTZ8Wz6xygUIJKtLGxvPv5NKEm47mfYxTcyUfX4o+HI8bQfF5XbE7Sn7wOuJysfIpKfx49YEYtZmMzAIAzRRA14JcIIMN6lelOPf90/8= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2016 20:30:19.9104 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0501MB2768 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2290 Lines: 48 On 11/16/2016 3:00 PM, John Stultz wrote: > On Wed, Nov 16, 2016 at 11:56 AM, Chris Metcalf wrote: >> On 11/16/2016 2:45 PM, John Stultz wrote: >>> On Wed, Nov 16, 2016 at 11:30 AM, Chris Metcalf >>> wrote: >>>> diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h >>>> index 08398182f56e..5444429884b8 100644 >>>> --- a/include/linux/clocksource.h >>>> +++ b/include/linux/clocksource.h >>>> @@ -171,6 +171,10 @@ static inline u32 clocksource_hz2mult(u32 hz, u32 >>>> shift_constant) >>>> * >>>> * Converts cycles to nanoseconds, using the given mult and shift. >>>> * >>>> + * The code is optimized for performance and not intended to work >>>> + * with absolute clocksource cycles, as it will easily overflow, >>>> + * but just intended for relative (delta) clocksource cycles. >>>> + * >>>> * XXX - This could use some mult_lxl_ll() asm optimization >>> Just as a heads up, it seems your working against an older kernel, as >>> this didn't apply. Its simple enough to fix up, so I'll do so, but in >>> the future, please submit patches against something close to Linus >>> HEAD. >> >> Oops, sorry; it wasn't version skew (I'm at v4.9-rc4) but whitespace damage. >> I assumed if I just pasted the patch into Thunderbird it would work, since >> it had >> no tabs. But bizarrely, if I look at the patch in the mailer, it shows a >> two-space >> prefix, but when I save the email to a file, it has a three-space prefix. >> WTF? > Yea. Not many mailers can be trusted with sending patches. I'd > recommend git-send-email. :) Yes, indeed. That is what I always do normally. But since I was already part way through an email written interactively in my mailer, I figured I'd be lazy and paste it in. Lesson learned... That said, it is annoyingly difficult to pick up an in-progress email and convert it into something you can edit in, say, Emacs. You end up having to cut and paste the "To:" and "Cc:" and "Subject:" information out of your mailer's helpful GUI and into Emacs in the standard RFC822 way that git send-email understands. I'm not sure there's a better way, but at least I feel better now that I've complained about it :-) -- Chris Metcalf, Mellanox Technologies http://www.mellanox.com