Home | History | Annotate | Download | only in blktrace

Lines Matching refs:pci

346 		struct per_cpu_info *pci = &pdi->cpus[new_count];
348 if (!pci->fd) {
349 pci->fd = -1;
350 memset(&pci->rb_last, 0, sizeof(pci->rb_last));
351 pci->rb_last_entries = 0;
352 pci->last_sequence = -1;
359 struct per_cpu_info *pci;
364 pci = &pdi->cpus[cpu];
365 pci->cpu = cpu;
366 return pci;
408 static void insert_skip(struct per_cpu_info *pci, unsigned long start,
413 for (sip = pci->skips_tail; sip != NULL; sip = sip->prev) {
427 if (pci->skips_tail == NULL)
428 pci->skips_head = pci->skips_tail = sip;
430 sip->prev = pci->skips_tail;
431 pci->skips_tail->next = sip;
432 pci->skips_tail = sip;
436 static void remove_sip(struct per_cpu_info *pci, struct skip_info *sip)
440 pci->skips_head = pci->skips_tail = NULL;
442 pci->skips_head = sip->next;
446 pci->skips_tail = sip->prev;
458 static int check_current_skips(struct per_cpu_info *pci, unsigned long seq)
462 for (sip = pci->skips_tail; sip != NULL; sip = sip->prev) {
466 remove_sip(pci, sip);
473 insert_skip(pci, seq + 1, sip->end);
491 struct per_cpu_info *pci = &pdi->cpus[cpu];
493 for (sip = pci->skips_head; sip != NULL; sip = sip->next) {
780 struct per_cpu_info *pci = get_cpu_info(pdi, t->bit->cpu);
782 rb_erase(&t->rb_node, &pci->rb_last);
783 pci
839 struct per_cpu_info *pci = get_cpu_info(pdi, t->bit->cpu);
841 if (trace_rb_insert(t, &pci->rb_last))
844 pci->rb_last_entries++;
846 if (pci->rb_last_entries > rb_batch * pdi->nfiles) {
847 struct rb_node *n = rb_first(&pci->rb_last);
904 struct per_cpu_info *pci,
907 return trace_rb_find(pdi->dev, seq, &pci->rb_last, 0);
1189 static inline void account_m(struct blk_io_trace *t, struct per_cpu_info *pci,
1192 __account_m(&pci->io_stats, t, rw);
1214 struct per_cpu_info *pci, int rw)
1216 __account_pc_queue(&pci->io_stats, t, rw);
1238 struct per_cpu_info *pci, int rw)
1240 __account_pc_issue(&pci->io_stats, rw, t->bytes);
1262 struct per_cpu_info *pci, int rw)
1264 __account_pc_requeue(&pci->io_stats, t, rw);
1282 struct per_cpu_info *pci, int rw)
1284 __account_pc_c(&pci->io_stats, rw);
1306 struct per_cpu_info *pci, int rw)
1308 __account_queue(&pci->io_stats, t, rw);
1328 static inline void account_c(struct blk_io_trace *t, struct per_cpu_info *pci,
1331 __account_c(&pci->io_stats, rw, bytes);
1353 struct per_cpu_info *pci, int rw)
1355 __account_issue(&pci->io_stats, rw, t->bytes);
1373 struct per_cpu_info *pci, int timer)
1375 __account_unplug(&pci->io_stats, timer);
1397 struct per_cpu_info *pci, int rw)
1399 __account_requeue(&pci->io_stats, t, rw);
1408 static void log_complete(struct per_dev_info *pdi, struct per_cpu_info *pci,
1411 process_fmt(act, pci, t, log_track_complete(pdi, t), 0, NULL);
1414 static void log_insert(struct per_dev_info *pdi, struct per_cpu_info *pci,
1417 process_fmt(act, pci, t, log_track_insert(pdi, t), 0, NULL);
1420 static void log_queue(struct per_cpu_info *pci, struct blk_io_trace *t,
1423 process_fmt(act, pci, t, -1, 0, NULL);
1426 static void log_issue(struct per_dev_info *pdi, struct per_cpu_info *pci,
1429 process_fmt(act, pci, t, log_track_issue(pdi, t), 0, NULL);
1432 static void log_merge(struct per_dev_info *pdi, struct per_cpu_info *pci,
1438 process_fmt(act, pci, t, -1ULL, 0, NULL);
1441 static void log_action(struct per_cpu_info *pci, struct blk_io_trace *t,
1444 process_fmt(act, pci, t, -1ULL, 0, NULL);
1447 static void log_generic(struct per_cpu_info *pci, struct blk_io_trace *t,
1450 process_fmt(act, pci, t, -1ULL, 0, NULL);
1453 static void log_unplug(struct per_cpu_info *pci, struct blk_io_trace *t,
1456 process_fmt(act, pci, t, -1ULL, 0, NULL);
1459 static void log_split(struct per_cpu_info *pci, struct blk_io_trace *t,
1462 process_fmt(act, pci, t, -1ULL, 0, NULL);
1465 static void log_pc(struct per_cpu_info *pci, struct blk_io_trace *t, char *act)
1469 process_fmt(act, pci, t, -1ULL, t->pdu_len, buf);
1473 struct per_cpu_info *pci)
1480 log_generic(pci, t, "Q");
1481 account_pc_queue(t, pci, w);
1484 log_generic(pci, t, "G");
1487 log_generic(pci, t, "S");
1496 account_pc_requeue(t, pci, w);
1497 log_generic(pci, t, "R");
1500 account_pc_issue(t, pci, w);
1504 log_pc(pci, t, "D");
1509 log_pc(pci, t, "C");
1510 account_pc_c(t, pci, w);
1513 log_pc(pci, t, "I");
1522 struct per_cpu_info *pci)
1530 account_queue(t, pci, w);
1531 log_queue(pci, t, "Q");
1534 log_insert(pdi, pci, t, "I");
1537 account_m(t, pci, w);
1538 log_merge(pdi, pci, t, "M");
1541 account_m(t, pci, w);
1542 log_merge(pdi, pci, t, "F");
1546 log_generic(pci, t, "G");
1549 log_generic(pci, t, "S");
1558 account_requeue(t, pci, w);
1559 log_queue(pci, t, "R");
1562 account_issue(t, pci, w);
1566 log_issue(pdi, pci, t, "D");
1571 account_c(t, pci, w, t->bytes);
1572 log_complete(pdi, pci, t, "C");
1575 log_action(pci, t, "P");
1578 account_unplug(t, pci, 0);
1579 log_unplug(pci, t, "U");
1582 account_unplug(t, pci, 1);
1583 log_unplug(pci, t, "UT");
1586 log_split(pci, t, "X");
1589 log_generic(pci, t, "B");
1592 log_generic(pci, t, "A");
1604 static void dump_trace(struct blk_io_trace *t, struct per_cpu_info *pci,
1611 dump_trace_pc(t, pdi, pci);
1613 dump_trace_fs(t, pdi, pci);
1770 struct per_cpu_info *pci;
1786 for (pci = pdi->cpus, j = 0; j < pdi->ncpus; j++, pci++) {
1787 if (!pci->nelems)
1790 ios = &pci->io_stats;
1909 struct per_cpu_info *pci = NULL;
1928 pci = NULL;
1931 if (!pci || pci->cpu != bit->cpu)
1932 pci = get_cpu_info(pdi, bit->cpu);
1934 if (bit->sequence < pci->smallest_seq_read)
1935 pci->smallest_seq_read = bit->sequence;
1994 struct per_cpu_info *pci;
1997 pci = get_cpu_info(pdi, bit->cpu);
1998 expected_sequence = pci->last_sequence + 1;
2006 if (bit->sequence == pci->smallest_seq_read)
2019 if (expected_sequence < pci->smallest_seq_read) {
2020 __t = trace_rb_find_last(pdi, pci, expected_sequence);
2030 if (check_current_skips(pci, bit->sequence))
2034 insert_skip(pci, expected_sequence, bit->sequence - 1);
2042 struct per_cpu_info *pci = NULL;
2059 pci = NULL;
2076 if (!pci || pci->cpu != bit->cpu)
2077 pci = get_cpu_info(pdi, bit->cpu);
2079 pci->last_sequence = bit->sequence;
2081 pci->nelems++;
2084 dump_trace(bit, pci, pdi);
2317 struct per_cpu_info *pci = get_cpu_info(pdi, msp->cpu);
2321 for (i = 0; !is_done() && pci->fd >= 0 && i < rb_batch; i++) {
2323 ret = read_data(pci->fd, bit, sizeof(*bit), 1, &pci->fdblock);
2340 ret = read_data(pci->fd, ptr + sizeof(*bit), pdu_len,
2341 1, &pci->fdblock);
2386 cpu_mark_offline(pdi, pci->cpu);
2387 close(pci->fd);
2388 pci->fd = -1;
2413 struct per_cpu_info *pci = get_cpu_info(pdi, cpu);
2415 pci->cpu = cpu;
2416 pci->fdblock = -1;
2428 len = sprintf(pci->fname, "%s/", input_dir);
2430 snprintf(pci->fname + len, sizeof(pci->fname)-1-len,
2431 "%s.blktrace.%d", pdi->name, pci->cpu);
2432 if (stat(pci->fname, &st) < 0)
2437 pci->fd = open(pci->fname, O_RDONLY);
2438 if (pci->fd < 0) {
2439 perror(pci->fname);
2443 printf("Input file %s added\n", pci->fname);
2444 cpu_mark_online(pdi, pci->cpu);
2447 ms_alloc(pdi, pci->cpu);
2456 struct per_cpu_info *pci;
2463 pci = get_cpu_info(pdi, msp->cpu);
2464 pci->nelems++;
2473 dump_trace(bit, pci, pdi);