pstore: Add ftrace timestamp counter
authorJoel Fernandes <joelaf@google.com>
Thu, 20 Oct 2016 07:34:05 +0000 (00:34 -0700)
committerKees Cook <keescook@chromium.org>
Wed, 16 Nov 2016 00:34:27 +0000 (16:34 -0800)
commitfbccdeb8d77d6830556bc4079eeed80298cc97dc
treec423e1973a8107db2ee1f6dd8ac70539fdee3fef
parenta1cf53ac6d156721afa86453d5e8423461881231
pstore: Add ftrace timestamp counter

In preparation for merging the per CPU buffers into one buffer when
we retrieve the pstore ftrace data, we store the timestamp as a
counter in the ftrace pstore record.  We store the CPU number as well
if !PSTORE_CPU_IN_IP, in this case we shift the counter and may lose
ordering there but we preserve the same record size. The timestamp counter
is also racy, and not doing any locking or synchronization here results
in the benefit of lower overhead. Since we don't care much here for exact
ordering of function traces across CPUs, we don't synchronize and may lose
some counter updates but I'm ok with that.

Using trace_clock() results in much lower performance so avoid using it
since we don't want accuracy in timestamp and need a rough ordering to
perform merge.

Signed-off-by: Joel Fernandes <joelaf@google.com>
[kees: updated commit message, added comments]
Signed-off-by: Kees Cook <keescook@chromium.org>
fs/pstore/ftrace.c
fs/pstore/inode.c
fs/pstore/internal.h
include/linux/pstore.h