Merge "msm: rtb: record counter timestamp for every log record"
This commit is contained in:
commit
711ba9b4ec
1 changed files with 11 additions and 2 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
|
@ -27,6 +27,7 @@
|
|||
#include <linux/io.h>
|
||||
#include <asm-generic/sizes.h>
|
||||
#include <linux/msm_rtb.h>
|
||||
#include <asm/timex.h>
|
||||
|
||||
#define SENTINEL_BYTE_1 0xFF
|
||||
#define SENTINEL_BYTE_2 0xAA
|
||||
|
@ -41,8 +42,9 @@
|
|||
* 4) 4 bytes index
|
||||
* 4) 8 bytes extra data from the caller
|
||||
* 5) 8 bytes of timestamp
|
||||
* 6) 8 bytes of cyclecount
|
||||
*
|
||||
* Total = 32 bytes.
|
||||
* Total = 40 bytes.
|
||||
*/
|
||||
struct msm_rtb_layout {
|
||||
unsigned char sentinel[3];
|
||||
|
@ -51,6 +53,7 @@ struct msm_rtb_layout {
|
|||
uint64_t caller;
|
||||
uint64_t data;
|
||||
uint64_t timestamp;
|
||||
uint64_t cycle_count;
|
||||
} __attribute__ ((__packed__));
|
||||
|
||||
|
||||
|
@ -132,6 +135,11 @@ static void msm_rtb_write_timestamp(struct msm_rtb_layout *start)
|
|||
start->timestamp = sched_clock();
|
||||
}
|
||||
|
||||
static void msm_rtb_write_cyclecount(struct msm_rtb_layout *start)
|
||||
{
|
||||
start->cycle_count = get_cycles();
|
||||
}
|
||||
|
||||
static void uncached_logk_pc_idx(enum logk_event_type log_type, uint64_t caller,
|
||||
uint64_t data, int idx)
|
||||
{
|
||||
|
@ -145,6 +153,7 @@ static void uncached_logk_pc_idx(enum logk_event_type log_type, uint64_t caller,
|
|||
msm_rtb_write_idx(idx, start);
|
||||
msm_rtb_write_data(data, start);
|
||||
msm_rtb_write_timestamp(start);
|
||||
msm_rtb_write_cyclecount(start);
|
||||
mb();
|
||||
|
||||
return;
|
||||
|
|
Loading…
Add table
Reference in a new issue