aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_mmiotrace.c
diff options
context:
space:
mode:
authorSteven Rostedt <rostedt@goodmis.org>2008-08-01 12:26:40 -0400
committerIngo Molnar <mingo@elte.hu>2008-10-14 04:35:15 -0400
commit2e2ca155cd2213b4f398031180fb3d399d5b7db9 (patch)
tree027295832950e23ac4edc84e43550d02e9a1acc6 /kernel/trace/trace_mmiotrace.c
parentfed1939c64d2288938fdc1c367d49082da65e195 (diff)
ftrace: new continue entry - separate out from trace_entry
Some tracers will need to work with more than one entry. In order to do this the trace_entry structure was split into two fields. One for the start of all entries, and one to continue an existing entry. The trace_entry structure now has a "field" entry that consists of the previous content of the trace_entry, and a "cont" entry that is just a string buffer the size of the "field" entry. Thanks to Andrew Morton for suggesting this idea. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/trace/trace_mmiotrace.c')
-rw-r--r--kernel/trace/trace_mmiotrace.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/kernel/trace/trace_mmiotrace.c b/kernel/trace/trace_mmiotrace.c
index b13dc19dcbb4..9b7a936f4b1f 100644
--- a/kernel/trace/trace_mmiotrace.c
+++ b/kernel/trace/trace_mmiotrace.c
@@ -174,14 +174,14 @@ print_out:
174static int mmio_print_rw(struct trace_iterator *iter) 174static int mmio_print_rw(struct trace_iterator *iter)
175{ 175{
176 struct trace_entry *entry = iter->ent; 176 struct trace_entry *entry = iter->ent;
177 struct mmiotrace_rw *rw = &entry->mmiorw; 177 struct mmiotrace_rw *rw = &entry->field.mmiorw;
178 struct trace_seq *s = &iter->seq; 178 struct trace_seq *s = &iter->seq;
179 unsigned long long t = ns2usecs(entry->t); 179 unsigned long long t = ns2usecs(entry->field.t);
180 unsigned long usec_rem = do_div(t, 1000000ULL); 180 unsigned long usec_rem = do_div(t, 1000000ULL);
181 unsigned secs = (unsigned long)t; 181 unsigned secs = (unsigned long)t;
182 int ret = 1; 182 int ret = 1;
183 183
184 switch (entry->mmiorw.opcode) { 184 switch (entry->field.mmiorw.opcode) {
185 case MMIO_READ: 185 case MMIO_READ:
186 ret = trace_seq_printf(s, 186 ret = trace_seq_printf(s,
187 "R %d %lu.%06lu %d 0x%llx 0x%lx 0x%lx %d\n", 187 "R %d %lu.%06lu %d 0x%llx 0x%lx 0x%lx %d\n",
@@ -216,14 +216,14 @@ static int mmio_print_rw(struct trace_iterator *iter)
216static int mmio_print_map(struct trace_iterator *iter) 216static int mmio_print_map(struct trace_iterator *iter)
217{ 217{
218 struct trace_entry *entry = iter->ent; 218 struct trace_entry *entry = iter->ent;
219 struct mmiotrace_map *m = &entry->mmiomap; 219 struct mmiotrace_map *m = &entry->field.mmiomap;
220 struct trace_seq *s = &iter->seq; 220 struct trace_seq *s = &iter->seq;
221 unsigned long long t = ns2usecs(entry->t); 221 unsigned long long t = ns2usecs(entry->field.t);
222 unsigned long usec_rem = do_div(t, 1000000ULL); 222 unsigned long usec_rem = do_div(t, 1000000ULL);
223 unsigned secs = (unsigned long)t; 223 unsigned secs = (unsigned long)t;
224 int ret = 1; 224 int ret = 1;
225 225
226 switch (entry->mmiorw.opcode) { 226 switch (entry->field.mmiorw.opcode) {
227 case MMIO_PROBE: 227 case MMIO_PROBE:
228 ret = trace_seq_printf(s, 228 ret = trace_seq_printf(s,
229 "MAP %lu.%06lu %d 0x%llx 0x%lx 0x%lx 0x%lx %d\n", 229 "MAP %lu.%06lu %d 0x%llx 0x%lx 0x%lx 0x%lx %d\n",