From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754226AbcKUTCe (ORCPT ); Mon, 21 Nov 2016 14:02:34 -0500 Received: from mail-db5eur01on0080.outbound.protection.outlook.com ([104.47.2.80]:63328 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753250AbcKUTCd (ORCPT ); Mon, 21 Nov 2016 14:02:33 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=cmetcalf@mellanox.com; Subject: Re: [PATCH 4/4] timekeeping: clocksource_cyc2ns: Document intended range limitation To: Ingo Molnar , John Stultz References: <1479531014-25264-1-git-send-email-john.stultz@linaro.org> <1479531014-25264-5-git-send-email-john.stultz@linaro.org> <20161121085402.GA529@gmail.com> CC: lkml , Richard Cochran , Prarit Bhargava , "Thomas Gleixner" From: Chris Metcalf Message-ID: <68f6e792-b2e1-c898-22b1-692ee1e6c367@mellanox.com> Date: Mon, 21 Nov 2016 10:28:24 -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: <20161121085402.GA529@gmail.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [12.216.194.146] X-ClientProxiedBy: BN6PR1601CA0017.namprd16.prod.outlook.com (10.172.104.155) To HE1PR0501MB2764.eurprd05.prod.outlook.com (10.172.125.18) X-Microsoft-Exchange-Diagnostics: 1;HE1PR0501MB2764;2:9KYUCu8BKLFlUz55r6ZGtyiSa5ojyqbHW2+YXpXmxvB1LUSchFEv7pUUc3LJGpHz6Wo1ZNRh24xZuE9EryVyc2f4VKurlvTinRyf4jWWu45d5CET40EWgTrKH5Tfpqvlukxo83dUPrVPXW0HN3PaZk2AlMPpAf9ewDtyD55TQwQ=;3:0yVeC0+RiIKpBvHBth/dPPLy3uJkcHXlKvnkst0IGtkQlnGDGn+JSMeRiJpPr3GHeTFtKhAKHdkbkdNudneUhQo17TuGcAz/UHQi9e64elxw1+rBSU0XIvnfUvkuY7mGKXGB3eB85c3i4bXDkkv67VRrSosOpxDSyn3ZT5ig6FI= X-MS-Office365-Filtering-Correlation-Id: eee626f7-6d86-4e77-492a-08d412230e5e X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:HE1PR0501MB2764; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0501MB2764;25:E5X9jXeJaoKJ0C/u9JNm+5BNhkAlJg+6VBmSFYH2Y0glKNO+1yUB61Zy7DyQhK2h9IWpKiZD5oPlPYRgRnc+boX02OCsmlBUBklJRkIPoUU2cKN+n+n7jNwlMq4W0kdEnQAJUjgF8wdzuRYXFcOIQcEYtrMQyIx1R458Dt5Ei6J5f+TBqRJoLVZcFsvqbC1k1/ieS7R6pEeNA8Z2AT5wNGVEJJk0tpKp0Jr8oidGsM8LqLYwEgoLxvW7RqfzbNXPW1bDmSjTW5f9xwMuPdAyPfDVJgHy6hpN4qRWZ2klZNPVS506RBHUEeiYZ2zTkSaano9m51AKeHxN452D1QBawxgYXJuDbrdxMy3J7z8zGW4NKei3PapfkaTZ4vZr74jEFKtHMgKJa2OKj60eRijM1QBWd+8RaLjcpxlO22DXejjp2i2SU35UOXO1/gYTx0/Ywymg6Iz1mvsXfe2zQi5s7etPUMteMyfGlIl35a5NsFYKUffSzUkZ+Wlx39hBtpay6Gf68ImDIfaM2k1WhTWezbMga5IilsGsa9tH34O5zBONox0fbXj1bdmeEYEDfLkWtwpdIu3vkWxLIYQXxLvV683ymkVNBxyF+rF4Qcqh2Cnw25SAalw5vRKOBVTqno7IlgpI2lzMMpspgDwtMgzjpigciDxIhj8qvSCWVkA0RUfAWTo6G43jzHn3WkI4eUN/iO2gu3sCBq9nC0Q0+zLaVXkbGqW69blkBqJZe+nQeeV9Lzb05/VvATuXd837vADk528Z6IOBtVk1VpVcYZjt33L3td1BDwJul0dQChTDLnjk6IOGpJ3Xo/8y+zyV/UXV/VL3WErOqtiDenyssGigjQEKYUL1VP7143cSn//dtsfbf6mmenLZwAOGeeGiwktv X-Microsoft-Exchange-Diagnostics: 1;HE1PR0501MB2764;31:7TB9czV1he0QM7N10rJruIlMKTuI3vivvmA9T2b2WpJrhiDyQJ5XsI9ORbC2nMpoyubxqMOpXekxLFKqB7A0a6RHn+1N7ONRs4qKNEeYSspg55cp/PmYDvk0lcCUDfaECzWz8av17a+mgmrmZoZ4l8YtuMwhkR6micySZCV3yaVFsxY2NFJZS8ulUt45bzU/6/CaUdo6s71mIbQ8KgbLSiXWcAc84BQYxfHBJVysm4wpjf36OetVJyVd4XVls24iVO23irdT70rH7hME1V685g==;20:TQjJtyx5vcV2HZpIpXa/t+/f358jcQCl0Jf+HjF8Py3U+qdXA2Tm6bCUGtYB/F6Ts3wUJFUI/pCHTS7YLyHQiaDW+/fS7TYAH/X4tuhpF1mYMsGGC5jlUw/e5RYjAQ3rCuBW1kE/rCAQtqgc+9jRhoLCyj/3iaUCXsnDBx+KJLw/kb9E+TnhNFlphbAbf7/MX3yYDE6gSSHSxu+wreWhvF20Fp59XK8PfkI4tWNabeddJzXX2RYDd96hh75hM9MfPJJ7f1EZ15EeaWNbSSPBCmktkL6vsEZ/aWBozixFGXO54uf/dL+vtVDZGLhJLMOx3HLPpPp2OSGTm19Jcn1dRxdzbsjoRvAzyOHJpA7hsN6IkwvmvgciKYbN1WCInJyxCFV6Z/iM6E/u5tQcTrMhZMU6pmz+2UPYJ93YZyfp0ZlYWLsF6HJw63ci/t0LE/eF1thi+/Z8uWq7V6l5N/GCP2JpjRF/MZmoUefFoWSpeeXt/fg6EwUXpIOHHnr1FrVK X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(171992500451332); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6060326)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6061324);SRVR:HE1PR0501MB2764;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0501MB2764; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0501MB2764;4:tRduBQMvqqI66Uj2vn3lmYC4NaRPt1kTenm6DibJ+O0cHj7pFtkK2OJxw38mop/+JEXVrafg5y91Y8NTD8rQRhIb70ZpMriHBrEMeWCTi1TtaWDb3m0OsoHQXsQkatanZKgMAc4I5BjWctlZaxwtbaSCBTVgIKh9tc6msBbMmrD5m+tjce0Mc05h7xanwCt5nFwNs1+2GcN2Mkn3a+Jad6nwzr0hJxMiRGVvgCwFYtaqeIerJ7+oh0Ey1vvcpx9TS/GhRPK/2lG+04wrCTYfxROUV1TRQDxemfSzkbryB3uPTVBNj/89lV9I012roHD/q23Mh8IA8Gz+ste6tjSAHOo2t7kx8iiYVQlbBea2uYQ/BM5ipo1IyDxtsuqiytPUKuyhvYX70D2lvstNwi4W5AMmLyyMtMivlVoXzGyWv+SHNRNRJUaV7oUHlsmnpyPzv6zrWPI1pIP9KtjBykUlv+3kfQ/AMlOQ5wh1YVq4wvs= X-Forefront-PRVS: 01334458E5 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(7916002)(24454002)(377454003)(51444003)(199003)(189002)(2906002)(7736002)(50986999)(65806001)(33646002)(65956001)(5660300001)(189998001)(5001770100001)(83506001)(3846002)(47776003)(229853002)(105586002)(4001350100001)(31696002)(66066001)(305945005)(6116002)(97736004)(38730400001)(6666003)(86362001)(4326007)(81156014)(106356001)(42186005)(230700001)(65826007)(7846002)(8676002)(36756003)(76176999)(23746002)(81166006)(101416001)(64126003)(54356999)(68736007)(31686004)(92566002)(77096005)(2950100002)(50466002)(15760500001)(18886065003);DIR:OUT;SFP:1101;SCL:1;SRVR:HE1PR0501MB2764;H:[10.15.7.185];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;HE1PR0501MB2764;23:OUUD96/0sw7pI9av2AHorsuE1KZ1xkJ7jmz?= =?Windows-1252?Q?vvhw7Sub8rj06xy0+na6cFPhwcf+UwRyjxGllpcMg8Axq+2wgpVCxUZZ?= =?Windows-1252?Q?0XZc4thCdAOCb6WSnGGeE6oL/J3OFwuV1d87/BzC+FGoIpWcWnYNx6jQ?= =?Windows-1252?Q?4STFlBMbfRl2LJwqyRQtf7JPPp0+UH3nO8j3CHHipPy95T1DA5GIZJFk?= =?Windows-1252?Q?G7bjq78FoWULYV0uQ8NCMbkVXZB02rm9La2KBrNeNMN/e5wan0Lt5P07?= =?Windows-1252?Q?g3QZ+AoCxLd5s9CTmu5EwZ4SRq9QxjFqgDqUDdSSXwcNBaZe/+VJ4MFW?= =?Windows-1252?Q?gVPL5ha6Pn2SVqyyJyGna6CuZz9iHJ5DWjQoqqIaAK/vGk+CknePRk7V?= =?Windows-1252?Q?VTNko0l9lXclxSUUqxIjqkWrkz4y+IbB1fV6kzlUbdeJLtV8P4L5cnvW?= =?Windows-1252?Q?LupMh+Qaz4oeEfnYKH4a2stADJPwcA4fZT4kWz5qyooGzEug3Od+NLYv?= =?Windows-1252?Q?OemGawACg5mUhE0RJsoR5U5WSZvaqaMo+ZsYcenxVRwezJRGGhKj+ULX?= =?Windows-1252?Q?uobT9RWWqwyfS3ItR3i7/RrE0hWzNYD6J0L+SUtXnpgiWcMoBHak312z?= =?Windows-1252?Q?o0YgtL1Pzl11xAamY4PeBe5KhAaVbAcTn01ROR0uICzE+1LaTQGuwmFa?= =?Windows-1252?Q?J4vKsKXFnkU3pM0M9BsC4LY7BnK9YkwmzgTpEm0hbxsGvr9L4E4r+FQO?= =?Windows-1252?Q?h7iPOcPOdf1Ng4XkiMr7zeGd1E/x9wA0BDgyC0jn/DHDdaLK7N+Gm5Px?= =?Windows-1252?Q?AIYA67HHVsBWvN8wgE8aoW5EHNdbdU2t8G7Pr9rNKNlXEgcVFhsCPqNX?= =?Windows-1252?Q?vM4dLJGxrIDeb4z0faowx89K0TlG9eHhpXJ6dOKLl+bY2/R0EKOXH2A3?= =?Windows-1252?Q?ST/XQksdw7tDoX9NI+qqKNxhtpEPfhJIY8bszijlcyYHeNmEUGC6KBjc?= =?Windows-1252?Q?VhdYMHiEFFgxlmohyv5VBXMAUSeI9N7lkBikPTNiBukNF8S2JOOGmmYT?= =?Windows-1252?Q?E8lqDFlfJXTN3F4XNQL5fIvZgpVAZDC5Y5vESa037piJ78pelsHD/TW9?= =?Windows-1252?Q?DCgnssezSEF1PCA+GkRSTCeRZA/IoHh81Ku1JQWnQmRDQ2PIosP5f0eB?= =?Windows-1252?Q?b67dPfzwbvHIwm17U07qA6BqLJAS9KoUzl5VOFIBaq5wPftXj1N++pFW?= =?Windows-1252?Q?JH05C0siB6N4Uj+JK8A8cvbsz4mVV26lwQDMC9TGidsxsmPYKdDeJH0W?= =?Windows-1252?Q?jr7BdLgqiocgS+1N9VrtY+YOIp305X02fuDkvojXq06iHkOKD/HiRgoj?= =?Windows-1252?Q?dn9SlLQMX4cyN+MPKw04AtCk5tCGd3PtQBT2fg3G6cb4KiGanBmqEZJS?= =?Windows-1252?Q?FaxWzHJaSKoGVQUfIMb0flBAR9uo+W37PBJE0iEkUVtjs4V/Q1+8hAes?= =?Windows-1252?Q?mOZaejqg=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0501MB2764;6:cziGvzA6IHXZskh12igx1q7JgRzjojscbPurol2W7+RQA2/6ar9gqON1pBuUS9E2sdS+2pv3aXUxuoRdOyNHnVCi0dnZ1IF0G5NP2PyQZpNe7vrPqrZqKY92+C5b/0NFeufZ0pDS+OhWkex2DUyDZv3Dx7GLAIcO/bxE6jLxKIKvHtxe+bk/fn/9YYhZZJX4XbcShltS5vUv2HxKkVh/dKczdYY+CAizc9bvkPDSVzIxakYX4ITXHvSi0wshhAYZKbq1gXKuC2JzgsQRj31J3Sf/OkPK+4attvpIThtzIIaf+biK0MWIBkoBWNYDQoQvfmb8qhfZsAqBwASO7pz73aGYY8ScFZP2IZZfUqdQ7EAGtnuWyXJ4InE3chumfIJ+;5:aoTiqhZyGGqHvb9sp5LZmxmDh09D6L8F85j1GS9d1dTp0P4USmZyyW7P75FcQ8htgAOUe0OM/ffYv8TMg/0w/2IMvHPKs0PQDj0EfzoZIWsyTHo1eWEN5lhdikaSdhAcZr9LsBsSzyzmlZls2sOin7DQ1H9gBjw0xCEbYon3FCM=;24:Z2lTD4HP/36Psoy+9yzEK6W5UMdQpTaXgRGuVpbs1LNwAerdtxTCL5avPjgrwEih2zO88EjB0VWYDEeNb0rAH6zsGOqMet7ox1VRm9aGK+Y= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0501MB2764;7:QMMMEF0qwo/9sKScapxhCED9Ip4YjH4IQJe7ZO9hoMY1rwrT283pEtWTdRdCqn3kwM2StwLHxEzyNj93hTP7lLTamjmhJ2KnZ3mTpO5IiUuH0ew4RRjhjjt3IMhSuWQp8AU0i2ITmQBl3EelYXIHRcK6tnCeJd10p+e1GWdQB21xYVD+ERCuNUWvuT6AXnlORp0kWWT8nUHNEDvvQd8pv0n2CYjyaNTGOOQI0E2UtTeP4/60hsEAegHShIC3l4y5O88AorhTGXTM9VAj3RalM6Z3HYD+aNFOe0AEaeQq1tB02tuPgpfSKE3Hs7aty5Sx7Nlgiyn/PIFiH/mPug2BxyWwYFR4mcWNHZ7MEGNzI04= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2016 15:28:32.8728 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0501MB2764 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/21/2016 3:54 AM, Ingo Molnar wrote: > * John Stultz wrote: > >> From: Chris Metcalf >> >> The "cycles" argument should not be an absolute clocksource cycle >> value, as the implementation's arithmetic will overflow relatively >> easily with wide (64 bit) clocksource counters. >> >> For performance, the implementation is simple and fast, since the >> function is intended for only relatively small delta values of >> clocksource cycles. >> >> Cc: Richard Cochran >> Cc: Ingo Molnar >> Cc: Prarit Bhargava >> Cc: Thomas Gleixner >> Signed-off-by: Chris Metcalf >> [jstultz: Fixed up to merge against HEAD & commit message tweaks] >> Signed-off-by: John Stultz >> --- >> include/linux/clocksource.h | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) >> >> diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h >> index 0839818..0881bca 100644 >> --- a/include/linux/clocksource.h >> +++ b/include/linux/clocksource.h >> @@ -169,7 +169,10 @@ static inline u32 clocksource_hz2mult(u32 hz, u32 shift_constant) >> * @mult: cycle to nanosecond multiplier >> * @shift: cycle to nanosecond divisor (power of two) >> * >> - * Converts cycles to nanoseconds, using the given mult and shift. >> + * Converts clocksource 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. > Had to read this explanation twice, how about: > > * Converts clocksource cycles to nanoseconds, using the given @mult and @shift. > * The code is optimized for performance and is not intended to work > * with absolute clocksource cycles (as those will easily overflow), > * but is only intended to be used with relative (delta) clocksource cycles. > > Did I get it right? Yes, I think that's an improvement. Thanks! John, I assume you can just fix this up? -- Chris Metcalf, Mellanox Technologies http://www.mellanox.com