diff options
| -rw-r--r-- | block/blktrace.c | 2 | ||||
| -rw-r--r-- | kernel/trace/trace.c | 75 | ||||
| -rw-r--r-- | kernel/trace/trace_branch.c | 2 | ||||
| -rw-r--r-- | kernel/trace/trace_output.c | 123 |
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; |
| 1422 | partial: | ||
| 1423 | return TRACE_TYPE_PARTIAL_LINE; | ||
| 1426 | } | 1424 | } |
| 1427 | 1425 | ||
| 1428 | static enum print_line_t print_trace_fmt(struct trace_iterator *iter) | 1426 | static 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; |
| 1451 | partial: | ||
| 1452 | return TRACE_TYPE_PARTIAL_LINE; | ||
| 1459 | } | 1453 | } |
| 1460 | 1454 | ||
| 1461 | static enum print_line_t print_raw_fmt(struct trace_iterator *iter) | 1455 | static 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; |
| 1477 | partial: | ||
| 1478 | return TRACE_TYPE_PARTIAL_LINE; | ||
| 1489 | } | 1479 | } |
| 1490 | 1480 | ||
| 1491 | static enum print_line_t print_hex_fmt(struct trace_iterator *iter) | 1481 | static 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 | ||
| 289 | static void | 289 | static int |
| 290 | lat_print_generic(struct trace_seq *s, struct trace_entry *entry, int cpu) | 290 | lat_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 | ||
| 325 | static unsigned long preempt_mark_thresh = 100; | 315 | static unsigned long preempt_mark_thresh = 100; |
| 326 | 316 | ||
| 327 | static void | 317 | static int |
| 328 | lat_print_timestamp(struct trace_seq *s, u64 abs_usecs, | 318 | lat_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 | ||
| 340 | int trace_print_context(struct trace_iterator *iter) | 326 | int 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 | |||
| 358 | partial: | ||
| 359 | return TRACE_TYPE_PARTIAL_LINE; | ||
| 360 | } | 337 | } |
| 361 | 338 | ||
| 362 | int trace_print_lat_context(struct trace_iterator *iter) | 339 | int 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 | ||
| 396 | static const char state_to_char[] = TASK_STATE_TO_CHAR_STR; | 375 | static const char state_to_char[] = TASK_STATE_TO_CHAR_STR; |
| @@ -486,7 +465,7 @@ int unregister_ftrace_event(struct trace_event *event) | |||
| 486 | 465 | ||
| 487 | int trace_nop_print(struct trace_iterator *iter, int flags) | 466 | int 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 | ||
| 556 | static int trace_fn_hex(struct trace_iterator *iter, int flags) | 535 | static 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 | ||
| 569 | static int trace_fn_bin(struct trace_iterator *iter, int flags) | 548 | static 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 | ||
| 582 | static struct trace_event trace_fn_event = { | 561 | static 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 | ||
| 617 | static int trace_ctx_print(struct trace_iterator *iter, int flags) | 596 | static 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 | ||
| 650 | static int trace_ctx_raw(struct trace_iterator *iter, int flags) | 629 | static 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 | ||
| 684 | static int trace_ctx_hex(struct trace_iterator *iter, int flags) | 663 | static 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 | ||
| 711 | static struct trace_event trace_ctx_event = { | 690 | static 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 | ||
| 745 | static int trace_special_hex(struct trace_iterator *iter, int flags) | 724 | static 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 | ||
| 759 | static int trace_special_bin(struct trace_iterator *iter, int flags) | 738 | static 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 | ||
| 773 | static struct trace_event trace_special_event = { | 752 | static 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; |
