From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754763AbcKUWGb (ORCPT ); Mon, 21 Nov 2016 17:06:31 -0500 Received: from mail-oi0-f52.google.com ([209.85.218.52]:34745 "EHLO mail-oi0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754579AbcKUWG3 (ORCPT ); Mon, 21 Nov 2016 17:06:29 -0500 MIME-Version: 1.0 In-Reply-To: <68f6e792-b2e1-c898-22b1-692ee1e6c367@mellanox.com> 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> <68f6e792-b2e1-c898-22b1-692ee1e6c367@mellanox.com> From: John Stultz Date: Mon, 21 Nov 2016 14:06:27 -0800 Message-ID: Subject: Re: [PATCH 4/4] timekeeping: clocksource_cyc2ns: Document intended range limitation To: Chris Metcalf Cc: Ingo Molnar , lkml , Richard Cochran , Prarit Bhargava , Thomas Gleixner Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Nov 21, 2016 at 7:28 AM, Chris Metcalf wrote: > 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? Sure. Reworded to take Ingo's suggestions. thanks -john