SEQ_printf
SEQ_printf(m, "\n");
SEQ_printf(m, "dl_rq[%d]:\n", cpu);
SEQ_printf(m, " .%-30s: %lu\n", #x, (unsigned long)(dl_rq->x))
SEQ_printf(m, " .%-30s: %lld\n", "dl_bw->bw", dl_bw->bw);
SEQ_printf(m, " .%-30s: %lld\n", "dl_bw->total_bw", dl_bw->total_bw);
SEQ_printf(m, "cpu#%d, %u.%03u MHz\n",
SEQ_printf(m, "cpu#%d\n", cpu);
SEQ_printf(m, " .%-30s: %d\n", #x, (int)(rq->x)); \
SEQ_printf(m, " .%-30s: %Ld\n", #x, (long long)(rq->x));\
SEQ_printf(m, " .%-30s: %Ld.%06ld\n", #x, SPLIT_NS(rq->x))
SEQ_printf(m, " .%-30s: %ld\n", "curr->pid", (long)(task_pid_nr(rq->curr)));
#define P64(n) SEQ_printf(m, " .%-30s: %Ld\n", #n, rq->n);
#define P(n) SEQ_printf(m, " .%-30s: %d\n", #n, schedstat_val(rq->n));
SEQ_printf(m, "\n");
SEQ_printf(m, "Sched Debug Version: v0.11, %s %.*s\n",
SEQ_printf(m, "%-40s: %Ld\n", #x, (long long)(x))
SEQ_printf(m, "%-40s: %Ld.%06ld\n", #x, SPLIT_NS(x))
SEQ_printf(m, "\n");
SEQ_printf(m, "sysctl_sched\n");
SEQ_printf(m, " .%-40s: %Ld\n", #x, (long long)(x))
SEQ_printf(m, " .%-40s: %Ld.%06ld\n", #x, SPLIT_NS(x))
SEQ_printf(m, " .%-40s: %d (%s)\n",
SEQ_printf(m, "\n");
#define __PS(S, F) SEQ_printf(m, "%-45s:%21Ld\n", S, (long long)(F))
#define __PSN(S, F) SEQ_printf(m, "%-45s:%14Ld.%06ld\n", S, SPLIT_NS((long long)(F)))
SEQ_printf(m, "numa_faults node=%d ", node);
SEQ_printf(m, "task_private=%lu task_shared=%lu ", tpf, tsf);
SEQ_printf(m, "group_private=%lu group_shared=%lu\n", gpf, gsf);
SEQ_printf(m, "current_node=%d, numa_group_id=%d\n",
SEQ_printf(m, "%s (%d, #threads: %d)\n", p->comm, task_pid_nr_ns(p, ns),
SEQ_printf(m,
#define P(F) SEQ_printf(m, " .%-30s: %lld\n", #F, (long long)F)
#define P_SCHEDSTAT(F) SEQ_printf(m, " .%-30s: %lld\n", \
#define PN(F) SEQ_printf(m, " .%-30s: %lld.%06ld\n", #F, SPLIT_NS((long long)F))
#define PN_SCHEDSTAT(F) SEQ_printf(m, " .%-30s: %lld.%06ld\n", \
SEQ_printf(m, fmt, group_path); \
SEQ_printf(m, fmt, buf); \
SEQ_printf(m, ">R");
SEQ_printf(m, " %c", task_state_to_char(p));
SEQ_printf(m, " %15s %5d %9Ld.%06ld %c %9Ld.%06ld %c %9Ld.%06ld %9Ld.%06ld %9Ld %5d ",
SEQ_printf(m, "%9lld.%06ld %9lld.%06ld %9lld.%06ld",
SEQ_printf(m, " %d %d", task_node(p), task_numa_group_id(p));
SEQ_printf(m, "\n");
SEQ_printf(m, "\n");
SEQ_printf(m, "runnable tasks:\n");
SEQ_printf(m, " S task PID vruntime eligible "
SEQ_printf(m, "-------------------------------------------------------"
SEQ_printf(m, "\n");
SEQ_printf(m, "\n");
SEQ_printf(m, "cfs_rq[%d]:\n", cpu);
SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "left_deadline",
SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "left_vruntime",
SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "zero_vruntime",
SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "avg_vruntime",
SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "right_vruntime",
SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "spread", SPLIT_NS(spread));
SEQ_printf(m, " .%-30s: %d\n", "nr_queued", cfs_rq->nr_queued);
SEQ_printf(m, " .%-30s: %d\n", "h_nr_runnable", cfs_rq->h_nr_runnable);
SEQ_printf(m, " .%-30s: %d\n", "h_nr_queued", cfs_rq->h_nr_queued);
SEQ_printf(m, " .%-30s: %d\n", "h_nr_idle", cfs_rq->h_nr_idle);
SEQ_printf(m, " .%-30s: %ld\n", "load", cfs_rq->load.weight);
SEQ_printf(m, " .%-30s: %lu\n", "load_avg",
SEQ_printf(m, " .%-30s: %lu\n", "runnable_avg",
SEQ_printf(m, " .%-30s: %lu\n", "util_avg",
SEQ_printf(m, " .%-30s: %u\n", "util_est",
SEQ_printf(m, " .%-30s: %ld\n", "removed.load_avg",
SEQ_printf(m, " .%-30s: %ld\n", "removed.util_avg",
SEQ_printf(m, " .%-30s: %ld\n", "removed.runnable_avg",
SEQ_printf(m, " .%-30s: %lu\n", "tg_load_avg_contrib",
SEQ_printf(m, " .%-30s: %ld\n", "tg_load_avg",
SEQ_printf(m, " .%-30s: %d\n", "throttled",
SEQ_printf(m, " .%-30s: %d\n", "throttle_count",
SEQ_printf(m, "\n");
SEQ_printf(m, "\n");
SEQ_printf(m, "rt_rq[%d]:\n", cpu);
SEQ_printf(m, " .%-30s: %Ld\n", #x, (long long)(rt_rq->x))
SEQ_printf(m, " .%-30s: %lu\n", #x, (unsigned long)(rt_rq->x))
SEQ_printf(m, " .%-30s: %Ld.%06ld\n", #x, SPLIT_NS(rt_rq->x))
SEQ_printf(m, " .base: %p\n", base);
SEQ_printf(m, " .index: %d\n", base->index);
SEQ_printf(m, " .resolution: %u nsecs\n", hrtimer_resolution);
SEQ_printf(m, " .offset: %Lu nsecs\n",
SEQ_printf(m, "active timers:\n");
SEQ_printf(m, "cpu: %d\n", cpu);
SEQ_printf(m, " clock %d:\n", i);
SEQ_printf(m, " .%-15s: %Lu\n", #x, \
SEQ_printf(m, " .%-15s: %Lu nsecs\n", #x, \
SEQ_printf(m, " .%-15s: %Lu\n", #x, \
SEQ_printf(m, " .%-15s: %Lu nsecs\n", #x, \
SEQ_printf(m, " .%-15s: %d\n", #x, !!(ts->flags & (f)))
SEQ_printf(m, "jiffies: %Lu\n",
SEQ_printf(m, "\n");
SEQ_printf(m, "Tick Device: mode: %d\n", td->mode);
SEQ_printf(m, "Broadcast device\n");
SEQ_printf(m, "Per CPU device: %d\n", cpu);
SEQ_printf(m, "Clock Event Device: ");
SEQ_printf(m, "<NULL>\n");
SEQ_printf(m, "%s\n", dev->name);
SEQ_printf(m, " max_delta_ns: %llu\n",
SEQ_printf(m, " min_delta_ns: %llu\n",
SEQ_printf(m, " mult: %u\n", dev->mult);
SEQ_printf(m, " shift: %u\n", dev->shift);
SEQ_printf(m, " mode: %d\n", clockevent_get_state(dev));
SEQ_printf(m, " next_event: %Ld nsecs\n",
SEQ_printf(m, " set_next_event: %ps\n", dev->set_next_event);
SEQ_printf(m, " shutdown: %ps\n",
SEQ_printf(m, " periodic: %ps\n",
SEQ_printf(m, " oneshot: %ps\n",
SEQ_printf(m, " oneshot stopped: %ps\n",
SEQ_printf(m, " resume: %ps\n",
SEQ_printf(m, " event_handler: %ps\n", dev->event_handler);
SEQ_printf(m, "\n");
SEQ_printf(m, " retries: %lu\n", dev->retries);
SEQ_printf(m, "Wakeup Device: %s\n", wd ? wd->name : "<NULL>");
SEQ_printf(m, "\n");
SEQ_printf(m, "tick_broadcast_mask: %*pb\n",
SEQ_printf(m, "tick_broadcast_oneshot_mask: %*pb\n",
SEQ_printf(m, "\n");
SEQ_printf(m, "Timer List Version: v0.10\n");
SEQ_printf(m, "HRTIMER_MAX_CLOCK_BASES: %d\n", HRTIMER_MAX_CLOCK_BASES);
SEQ_printf(m, "now at %Ld nsecs\n", (unsigned long long)now);
SEQ_printf(m, "\n");
static void SEQ_printf(struct seq_file *m, const char *fmt, ...)
SEQ_printf(m, " #%d: <%p>, %ps", idx, taddr, ACCESS_PRIVATE(timer, function));
SEQ_printf(m, ", S:%02x", timer->state);
SEQ_printf(m, "\n");
SEQ_printf(m, " # expires at %Lu-%Lu nsecs [in %Ld to %Ld nsecs]\n",