[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170407213011.36e29f42@gandalf.local.home>
Date: Fri, 7 Apr 2017 21:30:11 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: Deepa Dinamani <deepa.kernel@...il.com>
Cc: linux-kernel@...r.kernel.org, akpm@...ux-foundation.org,
tglx@...utronix.de, viro@...iv.linux.org.uk,
gregkh@...uxfoundation.org, andreas.dilger@...el.com,
arnd@...db.de, bfields@...ldses.org, clm@...com,
davem@...emloft.net, dsterba@...e.com, dushistov@...l.ru,
eparis@...hat.com, jaegeuk@...nel.org, jbacik@...com,
jlayton@...chiereds.net, john.stultz@...aro.org,
jsimmons@...radead.org, mingo@...hat.com, oleg.drokin@...el.com,
paul@...l-moore.com, yuchao0@...wei.com,
ceph-devel@...r.kernel.org, devel@...verdev.osuosl.org,
linux-audit@...hat.com, linux-btrfs@...r.kernel.org,
linux-cifs@...r.kernel.org, linux-f2fs-devel@...ts.sourceforge.net,
linux-fsdevel@...r.kernel.org, linux-mtd@...ts.infradead.org,
linux-security-module@...r.kernel.org,
lustre-devel@...ts.lustre.org, netdev@...r.kernel.org,
samba-technical@...ts.samba.org, y2038@...ts.linaro.org
Subject: Re: [PATCH 02/12] trace: Make trace_hwlat timestamp y2038 safe
On Fri, 7 Apr 2017 17:57:00 -0700
Deepa Dinamani <deepa.kernel@...il.com> wrote:
> struct timespec is not y2038 safe on 32 bit machines
> and needs to be replaced by struct timespec64
> in order to represent times beyond year 2038 on such
> machines.
>
> Fix all the timestamp representation in struct trace_hwlat
> and all the corresponding implementations.
>
> diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
> index 02a4aeb..08f9bab 100644
> --- a/kernel/trace/trace_output.c
> +++ b/kernel/trace/trace_output.c
> @@ -4,7 +4,6 @@
> * Copyright (C) 2008 Red Hat Inc, Steven Rostedt <srostedt@...hat.com>
> *
> */
> -
> #include <linux/module.h>
> #include <linux/mutex.h>
> #include <linux/ftrace.h>
> @@ -1161,11 +1160,11 @@ trace_hwlat_print(struct trace_iterator *iter, int flags,
>
> trace_assign_type(field, entry);
>
> - trace_seq_printf(s, "#%-5u inner/outer(us): %4llu/%-5llu ts:%ld.%09ld",
> + trace_seq_printf(s, "#%-5u inner/outer(us): %4llu/%-5llu ts:%lld.%09ld",
> field->seqnum,
> field->duration,
> field->outer_duration,
> - field->timestamp.tv_sec,
> + (long long)field->timestamp.tv_sec,
Refresh my memory. We need the cast because on 64 bit boxes
timestamp.tv_sec is just a long?
Other than that.
Reviewed-by: Steven Rostedt (VMware) <rostedt@...dmis.org>
-- Steve
> field->timestamp.tv_nsec);
>
> if (field->nmi_count) {
> @@ -1195,10 +1194,10 @@ trace_hwlat_raw(struct trace_iterator *iter, int flags,
>
> trace_assign_type(field, iter->ent);
>
> - trace_seq_printf(s, "%llu %lld %ld %09ld %u\n",
> + trace_seq_printf(s, "%llu %lld %lld %09ld %u\n",
> field->duration,
> field->outer_duration,
> - field->timestamp.tv_sec,
> + (long long)field->timestamp.tv_sec,
> field->timestamp.tv_nsec,
> field->seqnum);
>
Powered by blists - more mailing lists