aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--block/blktrace.c2
-rw-r--r--kernel/trace/trace.c75
-rw-r--r--kernel/trace/trace_branch.c2
-rw-r--r--kernel/trace/trace_output.c123
4 files changed, 87 insertions, 115 deletions
diff --git a/block/blktrace.c b/block/blktrace.c
index 8f5c37b0f80f..12df27693972 100644
--- a/block/blktrace.c
+++ b/block/blktrace.c
@@ -1165,7 +1165,7 @@ static int blk_trace_event_print(struct trace_iterator *iter, int flags)
1165 const u16 what = t->action & ((1 << BLK_TC_SHIFT) - 1); 1165 const u16 what = t->action & ((1 << BLK_TC_SHIFT) - 1);
1166 int ret; 1166 int ret;
1167 1167
1168 if (trace_print_context(iter)) 1168 if (!trace_print_context(iter))
1169 return TRACE_TYPE_PARTIAL_LINE; 1169 return TRACE_TYPE_PARTIAL_LINE;
1170 1170
1171 if (unlikely(what == 0 || what > ARRAY_SIZE(what2act))) 1171 if (unlikely(what == 0 || what > ARRAY_SIZE(what2act)))
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index bbdfaa2cbdb9..5822ff4e5a3e 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -1402,27 +1402,25 @@ static enum print_line_t print_lat_fmt(struct trace_iterator *iter)
1402 unsigned long sym_flags = (trace_flags & TRACE_ITER_SYM_MASK); 1402 unsigned long sym_flags = (trace_flags & TRACE_ITER_SYM_MASK);
1403 struct trace_event *event; 1403 struct trace_event *event;
1404 struct trace_entry *entry = iter->ent; 1404 struct trace_entry *entry = iter->ent;
1405 int ret;
1406 1405
1407 test_cpu_buff_start(iter); 1406 test_cpu_buff_start(iter);
1408 1407
1409 event = ftrace_find_event(entry->type); 1408 event = ftrace_find_event(entry->type);
1410 1409
1411 if (trace_flags & TRACE_ITER_CONTEXT_INFO) { 1410 if (trace_flags & TRACE_ITER_CONTEXT_INFO) {
1412 ret = trace_print_lat_context(iter); 1411 if (!trace_print_lat_context(iter))
1413 if (ret) 1412 goto partial;
1414 return ret;
1415 } 1413 }
1416 1414
1417 if (event && event->latency_trace) { 1415 if (event && event->latency_trace)
1418 ret = event->latency_trace(iter, sym_flags); 1416 return event->latency_trace(iter, sym_flags);
1419 if (ret) 1417
1420 return ret; 1418 if (!trace_seq_printf(s, "Unknown type %d\n", entry->type))
1421 return TRACE_TYPE_HANDLED; 1419 goto partial;
1422 }
1423 1420
1424 trace_seq_printf(s, "Unknown type %d\n", entry->type);
1425 return TRACE_TYPE_HANDLED; 1421 return TRACE_TYPE_HANDLED;
1422partial:
1423 return TRACE_TYPE_PARTIAL_LINE;
1426} 1424}
1427 1425
1428static enum print_line_t print_trace_fmt(struct trace_iterator *iter) 1426static enum print_line_t print_trace_fmt(struct trace_iterator *iter)
@@ -1431,7 +1429,6 @@ static enum print_line_t print_trace_fmt(struct trace_iterator *iter)
1431 unsigned long sym_flags = (trace_flags & TRACE_ITER_SYM_MASK); 1429 unsigned long sym_flags = (trace_flags & TRACE_ITER_SYM_MASK);
1432 struct trace_entry *entry; 1430 struct trace_entry *entry;
1433 struct trace_event *event; 1431 struct trace_event *event;
1434 int ret;
1435 1432
1436 entry = iter->ent; 1433 entry = iter->ent;
1437 1434
@@ -1440,22 +1437,19 @@ static enum print_line_t print_trace_fmt(struct trace_iterator *iter)
1440 event = ftrace_find_event(entry->type); 1437 event = ftrace_find_event(entry->type);
1441 1438
1442 if (trace_flags & TRACE_ITER_CONTEXT_INFO) { 1439 if (trace_flags & TRACE_ITER_CONTEXT_INFO) {
1443 ret = trace_print_context(iter); 1440 if (!trace_print_context(iter))
1444 if (ret) 1441 goto partial;
1445 return ret;
1446 } 1442 }
1447 1443
1448 if (event && event->trace) { 1444 if (event && event->trace)
1449 ret = event->trace(iter, sym_flags); 1445 return event->trace(iter, sym_flags);
1450 if (ret) 1446
1451 return ret; 1447 if (!trace_seq_printf(s, "Unknown type %d\n", entry->type))
1452 return TRACE_TYPE_HANDLED; 1448 goto partial;
1453 }
1454 ret = trace_seq_printf(s, "Unknown type %d\n", entry->type);
1455 if (!ret)
1456 return TRACE_TYPE_PARTIAL_LINE;
1457 1449
1458 return TRACE_TYPE_HANDLED; 1450 return TRACE_TYPE_HANDLED;
1451partial:
1452 return TRACE_TYPE_PARTIAL_LINE;
1459} 1453}
1460 1454
1461static enum print_line_t print_raw_fmt(struct trace_iterator *iter) 1455static enum print_line_t print_raw_fmt(struct trace_iterator *iter)
@@ -1463,29 +1457,25 @@ static enum print_line_t print_raw_fmt(struct trace_iterator *iter)
1463 struct trace_seq *s = &iter->seq; 1457 struct trace_seq *s = &iter->seq;
1464 struct trace_entry *entry; 1458 struct trace_entry *entry;
1465 struct trace_event *event; 1459 struct trace_event *event;
1466 int ret;
1467 1460
1468 entry = iter->ent; 1461 entry = iter->ent;
1469 1462
1470 if (trace_flags & TRACE_ITER_CONTEXT_INFO) { 1463 if (trace_flags & TRACE_ITER_CONTEXT_INFO) {
1471 ret = trace_seq_printf(s, "%d %d %llu ", 1464 if (!trace_seq_printf(s, "%d %d %llu ",
1472 entry->pid, iter->cpu, iter->ts); 1465 entry->pid, iter->cpu, iter->ts))
1473 if (!ret) 1466 goto partial;
1474 return TRACE_TYPE_PARTIAL_LINE;
1475 } 1467 }
1476 1468
1477 event = ftrace_find_event(entry->type); 1469 event = ftrace_find_event(entry->type);
1478 if (event && event->raw) { 1470 if (event && event->raw)
1479 ret = event->raw(iter, 0); 1471 return event->raw(iter, 0);
1480 if (ret) 1472
1481 return ret; 1473 if (!trace_seq_printf(s, "%d ?\n", entry->type))
1482 return TRACE_TYPE_HANDLED; 1474 goto partial;
1483 }
1484 ret = trace_seq_printf(s, "%d ?\n", entry->type);
1485 if (!ret)
1486 return TRACE_TYPE_PARTIAL_LINE;
1487 1475
1488 return TRACE_TYPE_HANDLED; 1476 return TRACE_TYPE_HANDLED;
1477partial:
1478 return TRACE_TYPE_PARTIAL_LINE;
1489} 1479}
1490 1480
1491static enum print_line_t print_hex_fmt(struct trace_iterator *iter) 1481static enum print_line_t print_hex_fmt(struct trace_iterator *iter)
@@ -1504,8 +1494,11 @@ static enum print_line_t print_hex_fmt(struct trace_iterator *iter)
1504 } 1494 }
1505 1495
1506 event = ftrace_find_event(entry->type); 1496 event = ftrace_find_event(entry->type);
1507 if (event && event->hex) 1497 if (event && event->hex) {
1508 event->hex(iter, 0); 1498 int ret = event->hex(iter, 0);
1499 if (ret != TRACE_TYPE_HANDLED)
1500 return ret;
1501 }
1509 1502
1510 SEQ_PUT_FIELD_RET(s, newline); 1503 SEQ_PUT_FIELD_RET(s, newline);
1511 1504
@@ -1544,7 +1537,7 @@ static enum print_line_t print_bin_fmt(struct trace_iterator *iter)
1544 1537
1545 event = ftrace_find_event(entry->type); 1538 event = ftrace_find_event(entry->type);
1546 if (event && event->binary) 1539 if (event && event->binary)
1547 event->binary(iter, 0); 1540 return event->binary(iter, 0);
1548 1541
1549 return TRACE_TYPE_HANDLED; 1542 return TRACE_TYPE_HANDLED;
1550} 1543}
diff --git a/kernel/trace/trace_branch.c b/kernel/trace/trace_branch.c
index ea62f101e615..f6b35e162dfa 100644
--- a/kernel/trace/trace_branch.c
+++ b/kernel/trace/trace_branch.c
@@ -173,7 +173,7 @@ static int trace_branch_print(struct trace_iterator *iter, int flags)
173 field->line)) 173 field->line))
174 return TRACE_TYPE_PARTIAL_LINE; 174 return TRACE_TYPE_PARTIAL_LINE;
175 175
176 return 0; 176 return TRACE_TYPE_HANDLED;
177} 177}
178 178
179 179
diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
index c24503b281a0..5b3c914053f2 100644
--- a/kernel/trace/trace_output.c
+++ b/kernel/trace/trace_output.c
@@ -286,55 +286,41 @@ seq_print_ip_sym(struct trace_seq *s, unsigned long ip, unsigned long sym_flags)
286 return ret; 286 return ret;
287} 287}
288 288
289static void 289static int
290lat_print_generic(struct trace_seq *s, struct trace_entry *entry, int cpu) 290lat_print_generic(struct trace_seq *s, struct trace_entry *entry, int cpu)
291{ 291{
292 int hardirq, softirq; 292 int hardirq, softirq;
293 char *comm; 293 char *comm;
294 294
295 comm = trace_find_cmdline(entry->pid); 295 comm = trace_find_cmdline(entry->pid);
296
297 trace_seq_printf(s, "%8.8s-%-5d ", comm, entry->pid);
298 trace_seq_printf(s, "%3d", cpu);
299 trace_seq_printf(s, "%c%c",
300 (entry->flags & TRACE_FLAG_IRQS_OFF) ? 'd' :
301 (entry->flags & TRACE_FLAG_IRQS_NOSUPPORT) ? 'X' : '.',
302 ((entry->flags & TRACE_FLAG_NEED_RESCHED) ? 'N' : '.'));
303
304 hardirq = entry->flags & TRACE_FLAG_HARDIRQ; 296 hardirq = entry->flags & TRACE_FLAG_HARDIRQ;
305 softirq = entry->flags & TRACE_FLAG_SOFTIRQ; 297 softirq = entry->flags & TRACE_FLAG_SOFTIRQ;
306 if (hardirq && softirq) { 298
307 trace_seq_putc(s, 'H'); 299 if (!trace_seq_printf(s, "%8.8s-%-5d %3d%c%c%c",
308 } else { 300 comm, entry->pid, cpu,
309 if (hardirq) { 301 (entry->flags & TRACE_FLAG_IRQS_OFF) ? 'd' :
310 trace_seq_putc(s, 'h'); 302 (entry->flags & TRACE_FLAG_IRQS_NOSUPPORT) ?
311 } else { 303 'X' : '.',
312 if (softirq) 304 (entry->flags & TRACE_FLAG_NEED_RESCHED) ?
313 trace_seq_putc(s, 's'); 305 'N' : '.',
314 else 306 (hardirq && softirq) ? 'H' :
315 trace_seq_putc(s, '.'); 307 hardirq ? 'h' : softirq ? 's' : '.'))
316 } 308 return 0;
317 }
318 309
319 if (entry->preempt_count) 310 if (entry->preempt_count)
320 trace_seq_printf(s, "%x", entry->preempt_count); 311 return trace_seq_printf(s, "%x", entry->preempt_count);
321 else 312 return trace_seq_puts(s, ".");
322 trace_seq_puts(s, ".");
323} 313}
324 314
325static unsigned long preempt_mark_thresh = 100; 315static unsigned long preempt_mark_thresh = 100;
326 316
327static void 317static int
328lat_print_timestamp(struct trace_seq *s, u64 abs_usecs, 318lat_print_timestamp(struct trace_seq *s, u64 abs_usecs,
329 unsigned long rel_usecs) 319 unsigned long rel_usecs)
330{ 320{
331 trace_seq_printf(s, " %4lldus", abs_usecs); 321 return trace_seq_printf(s, " %4lldus%c: ", abs_usecs,
332 if (rel_usecs > preempt_mark_thresh) 322 rel_usecs > preempt_mark_thresh ? '!' :
333 trace_seq_puts(s, "!: "); 323 rel_usecs > 1 ? '+' : ' ');
334 else if (rel_usecs > 1)
335 trace_seq_puts(s, "+: ");
336 else
337 trace_seq_puts(s, " : ");
338} 324}
339 325
340int trace_print_context(struct trace_iterator *iter) 326int trace_print_context(struct trace_iterator *iter)
@@ -346,22 +332,14 @@ int trace_print_context(struct trace_iterator *iter)
346 unsigned long usec_rem = do_div(t, USEC_PER_SEC); 332 unsigned long usec_rem = do_div(t, USEC_PER_SEC);
347 unsigned long secs = (unsigned long)t; 333 unsigned long secs = (unsigned long)t;
348 334
349 if (!trace_seq_printf(s, "%16s-%-5d ", comm, entry->pid)) 335 return trace_seq_printf(s, "%16s-%-5d [%03d] %5lu.%06lu: ",
350 goto partial; 336 comm, entry->pid, entry->cpu, secs, usec_rem);
351 if (!trace_seq_printf(s, "[%03d] ", entry->cpu))
352 goto partial;
353 if (!trace_seq_printf(s, "%5lu.%06lu: ", secs, usec_rem))
354 goto partial;
355
356 return 0;
357
358partial:
359 return TRACE_TYPE_PARTIAL_LINE;
360} 337}
361 338
362int trace_print_lat_context(struct trace_iterator *iter) 339int trace_print_lat_context(struct trace_iterator *iter)
363{ 340{
364 u64 next_ts; 341 u64 next_ts;
342 int ret;
365 struct trace_seq *s = &iter->seq; 343 struct trace_seq *s = &iter->seq;
366 struct trace_entry *entry = iter->ent, 344 struct trace_entry *entry = iter->ent,
367 *next_entry = trace_find_next_entry(iter, NULL, 345 *next_entry = trace_find_next_entry(iter, NULL,
@@ -376,21 +354,22 @@ int trace_print_lat_context(struct trace_iterator *iter)
376 354
377 if (verbose) { 355 if (verbose) {
378 char *comm = trace_find_cmdline(entry->pid); 356 char *comm = trace_find_cmdline(entry->pid);
379 trace_seq_printf(s, "%16s %5d %3d %d %08x %08lx [%08lx]" 357 ret = trace_seq_printf(s, "%16s %5d %3d %d %08x %08lx [%08lx]"
380 " %ld.%03ldms (+%ld.%03ldms): ", 358 " %ld.%03ldms (+%ld.%03ldms): ", comm,
381 comm, 359 entry->pid, entry->cpu, entry->flags,
382 entry->pid, entry->cpu, entry->flags, 360 entry->preempt_count, iter->idx,
383 entry->preempt_count, iter->idx, 361 ns2usecs(iter->ts),
384 ns2usecs(iter->ts), 362 abs_usecs / USEC_PER_MSEC,
385 abs_usecs/1000, 363 abs_usecs % USEC_PER_MSEC,
386 abs_usecs % 1000, rel_usecs/1000, 364 rel_usecs / USEC_PER_MSEC,
387 rel_usecs % 1000); 365 rel_usecs % USEC_PER_MSEC);
388 } else { 366 } else {
389 lat_print_generic(s, entry, entry->cpu); 367 ret = lat_print_generic(s, entry, entry->cpu);
390 lat_print_timestamp(s, abs_usecs, rel_usecs); 368 if (ret)
369 ret = lat_print_timestamp(s, abs_usecs, rel_usecs);
391 } 370 }
392 371
393 return 0; 372 return ret;
394} 373}
395 374
396static const char state_to_char[] = TASK_STATE_TO_CHAR_STR; 375static const char state_to_char[] = TASK_STATE_TO_CHAR_STR;
@@ -486,7 +465,7 @@ int unregister_ftrace_event(struct trace_event *event)
486 465
487int trace_nop_print(struct trace_iterator *iter, int flags) 466int trace_nop_print(struct trace_iterator *iter, int flags)
488{ 467{
489 return 0; 468 return TRACE_TYPE_HANDLED;
490} 469}
491 470
492/* TRACE_FN */ 471/* TRACE_FN */
@@ -506,7 +485,7 @@ static int trace_fn_latency(struct trace_iterator *iter, int flags)
506 if (!trace_seq_puts(s, ")\n")) 485 if (!trace_seq_puts(s, ")\n"))
507 goto partial; 486 goto partial;
508 487
509 return 0; 488 return TRACE_TYPE_HANDLED;
510 489
511 partial: 490 partial:
512 return TRACE_TYPE_PARTIAL_LINE; 491 return TRACE_TYPE_PARTIAL_LINE;
@@ -533,7 +512,7 @@ static int trace_fn_trace(struct trace_iterator *iter, int flags)
533 if (!trace_seq_printf(s, "\n")) 512 if (!trace_seq_printf(s, "\n"))
534 goto partial; 513 goto partial;
535 514
536 return 0; 515 return TRACE_TYPE_HANDLED;
537 516
538 partial: 517 partial:
539 return TRACE_TYPE_PARTIAL_LINE; 518 return TRACE_TYPE_PARTIAL_LINE;
@@ -550,7 +529,7 @@ static int trace_fn_raw(struct trace_iterator *iter, int flags)
550 field->parent_ip)) 529 field->parent_ip))
551 return TRACE_TYPE_PARTIAL_LINE; 530 return TRACE_TYPE_PARTIAL_LINE;
552 531
553 return 0; 532 return TRACE_TYPE_HANDLED;
554} 533}
555 534
556static int trace_fn_hex(struct trace_iterator *iter, int flags) 535static int trace_fn_hex(struct trace_iterator *iter, int flags)
@@ -563,7 +542,7 @@ static int trace_fn_hex(struct trace_iterator *iter, int flags)
563 SEQ_PUT_HEX_FIELD_RET(s, field->ip); 542 SEQ_PUT_HEX_FIELD_RET(s, field->ip);
564 SEQ_PUT_HEX_FIELD_RET(s, field->parent_ip); 543 SEQ_PUT_HEX_FIELD_RET(s, field->parent_ip);
565 544
566 return 0; 545 return TRACE_TYPE_HANDLED;
567} 546}
568 547
569static int trace_fn_bin(struct trace_iterator *iter, int flags) 548static int trace_fn_bin(struct trace_iterator *iter, int flags)
@@ -576,7 +555,7 @@ static int trace_fn_bin(struct trace_iterator *iter, int flags)
576 SEQ_PUT_FIELD_RET(s, field->ip); 555 SEQ_PUT_FIELD_RET(s, field->ip);
577 SEQ_PUT_FIELD_RET(s, field->parent_ip); 556 SEQ_PUT_FIELD_RET(s, field->parent_ip);
578 557
579 return 0; 558 return TRACE_TYPE_HANDLED;
580} 559}
581 560
582static struct trace_event trace_fn_event = { 561static struct trace_event trace_fn_event = {
@@ -611,7 +590,7 @@ static int trace_ctxwake_print(struct trace_iterator *iter, char *delim)
611 T, comm)) 590 T, comm))
612 return TRACE_TYPE_PARTIAL_LINE; 591 return TRACE_TYPE_PARTIAL_LINE;
613 592
614 return 0; 593 return TRACE_TYPE_HANDLED;
615} 594}
616 595
617static int trace_ctx_print(struct trace_iterator *iter, int flags) 596static int trace_ctx_print(struct trace_iterator *iter, int flags)
@@ -644,7 +623,7 @@ static int trace_ctxwake_raw(struct trace_iterator *iter, char S)
644 T)) 623 T))
645 return TRACE_TYPE_PARTIAL_LINE; 624 return TRACE_TYPE_PARTIAL_LINE;
646 625
647 return 0; 626 return TRACE_TYPE_HANDLED;
648} 627}
649 628
650static int trace_ctx_raw(struct trace_iterator *iter, int flags) 629static int trace_ctx_raw(struct trace_iterator *iter, int flags)
@@ -678,7 +657,7 @@ static int trace_ctxwake_hex(struct trace_iterator *iter, char S)
678 SEQ_PUT_HEX_FIELD_RET(s, field->next_prio); 657 SEQ_PUT_HEX_FIELD_RET(s, field->next_prio);
679 SEQ_PUT_HEX_FIELD_RET(s, T); 658 SEQ_PUT_HEX_FIELD_RET(s, T);
680 659
681 return 0; 660 return TRACE_TYPE_HANDLED;
682} 661}
683 662
684static int trace_ctx_hex(struct trace_iterator *iter, int flags) 663static int trace_ctx_hex(struct trace_iterator *iter, int flags)
@@ -705,7 +684,7 @@ static int trace_ctxwake_bin(struct trace_iterator *iter, int flags)
705 SEQ_PUT_FIELD_RET(s, field->next_prio); 684 SEQ_PUT_FIELD_RET(s, field->next_prio);
706 SEQ_PUT_FIELD_RET(s, field->next_state); 685 SEQ_PUT_FIELD_RET(s, field->next_state);
707 686
708 return 0; 687 return TRACE_TYPE_HANDLED;
709} 688}
710 689
711static struct trace_event trace_ctx_event = { 690static struct trace_event trace_ctx_event = {
@@ -739,7 +718,7 @@ static int trace_special_print(struct trace_iterator *iter, int flags)
739 field->arg3)) 718 field->arg3))
740 return TRACE_TYPE_PARTIAL_LINE; 719 return TRACE_TYPE_PARTIAL_LINE;
741 720
742 return 0; 721 return TRACE_TYPE_HANDLED;
743} 722}
744 723
745static int trace_special_hex(struct trace_iterator *iter, int flags) 724static int trace_special_hex(struct trace_iterator *iter, int flags)
@@ -753,7 +732,7 @@ static int trace_special_hex(struct trace_iterator *iter, int flags)
753 SEQ_PUT_HEX_FIELD_RET(s, field->arg2); 732 SEQ_PUT_HEX_FIELD_RET(s, field->arg2);
754 SEQ_PUT_HEX_FIELD_RET(s, field->arg3); 733 SEQ_PUT_HEX_FIELD_RET(s, field->arg3);
755 734
756 return 0; 735 return TRACE_TYPE_HANDLED;
757} 736}
758 737
759static int trace_special_bin(struct trace_iterator *iter, int flags) 738static int trace_special_bin(struct trace_iterator *iter, int flags)
@@ -767,7 +746,7 @@ static int trace_special_bin(struct trace_iterator *iter, int flags)
767 SEQ_PUT_FIELD_RET(s, field->arg2); 746 SEQ_PUT_FIELD_RET(s, field->arg2);
768 SEQ_PUT_FIELD_RET(s, field->arg3); 747 SEQ_PUT_FIELD_RET(s, field->arg3);
769 748
770 return 0; 749 return TRACE_TYPE_HANDLED;
771} 750}
772 751
773static struct trace_event trace_special_event = { 752static struct trace_event trace_special_event = {
@@ -801,7 +780,7 @@ static int trace_stack_print(struct trace_iterator *iter, int flags)
801 goto partial; 780 goto partial;
802 } 781 }
803 782
804 return 0; 783 return TRACE_TYPE_HANDLED;
805 784
806 partial: 785 partial:
807 return TRACE_TYPE_PARTIAL_LINE; 786 return TRACE_TYPE_PARTIAL_LINE;
@@ -830,7 +809,7 @@ static int trace_user_stack_print(struct trace_iterator *iter, int flags)
830 if (!trace_seq_putc(s, '\n')) 809 if (!trace_seq_putc(s, '\n'))
831 goto partial; 810 goto partial;
832 811
833 return 0; 812 return TRACE_TYPE_HANDLED;
834 813
835 partial: 814 partial:
836 return TRACE_TYPE_PARTIAL_LINE; 815 return TRACE_TYPE_PARTIAL_LINE;
@@ -859,7 +838,7 @@ static int trace_print_print(struct trace_iterator *iter, int flags)
859 if (!trace_seq_printf(s, ": %s", field->buf)) 838 if (!trace_seq_printf(s, ": %s", field->buf))
860 goto partial; 839 goto partial;
861 840
862 return 0; 841 return TRACE_TYPE_HANDLED;
863 842
864 partial: 843 partial:
865 return TRACE_TYPE_PARTIAL_LINE; 844 return TRACE_TYPE_PARTIAL_LINE;
@@ -874,7 +853,7 @@ static int trace_print_raw(struct trace_iterator *iter, int flags)
874 if (!trace_seq_printf(&iter->seq, "# %lx %s", field->ip, field->buf)) 853 if (!trace_seq_printf(&iter->seq, "# %lx %s", field->ip, field->buf))
875 goto partial; 854 goto partial;
876 855
877 return 0; 856 return TRACE_TYPE_HANDLED;
878 857
879 partial: 858 partial:
880 return TRACE_TYPE_PARTIAL_LINE; 859 return TRACE_TYPE_PARTIAL_LINE;