On Wed, Feb 09, 2022 at 01:33:50PM +0800, Mark-PK Tsai wrote:
> Use ktime_us_delta() to make the initcall_debug log more precise than
> right shifting the result of ktime_to_ns() by 10 bits.
>
> Signed-off-by: Mark-PK Tsai <[email protected]>
> ---
> init/main.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/init/main.c b/init/main.c
> index 65fa2e41a9c0..c8edcc3029b1 100644
> --- a/init/main.c
> +++ b/init/main.c
> @@ -1246,15 +1246,11 @@ trace_initcall_start_cb(void *data, initcall_t fn)
> static __init_or_module void
> trace_initcall_finish_cb(void *data, initcall_t fn, int ret)
> {
> - ktime_t *calltime = (ktime_t *)data;
> - ktime_t delta, rettime;
> - unsigned long long duration;
> + ktime_t rettime, *calltime = (ktime_t *)data;
>
> rettime = ktime_get();
> - delta = ktime_sub(rettime, *calltime);
> - duration = (unsigned long long) ktime_to_ns(delta) >> 10;
> printk(KERN_DEBUG "initcall %pS returned %d after %lld usecs\n",
> - fn, ret, duration);
> + fn, ret, (unsigned long long)ktime_us_delta(rettime, *calltime));
> }
>
> static ktime_t initcall_calltime;
> --
> 2.18.0
>
I took this for a spin while playing around with other things today,
cleans things up nicely imo.
Reviewed-by: Andrew Halaney <[email protected]>
Tested-by: Andrew Halaney <[email protected]>