diff options
Diffstat (limited to 'kernel/rcutree_trace.c')
| -rw-r--r-- | kernel/rcutree_trace.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/kernel/rcutree_trace.c b/kernel/rcutree_trace.c index 179e6ad80dc0..9d2c88423b31 100644 --- a/kernel/rcutree_trace.c +++ b/kernel/rcutree_trace.c | |||
| @@ -155,24 +155,32 @@ static const struct file_operations rcudata_csv_fops = { | |||
| 155 | 155 | ||
| 156 | static void print_one_rcu_state(struct seq_file *m, struct rcu_state *rsp) | 156 | static void print_one_rcu_state(struct seq_file *m, struct rcu_state *rsp) |
| 157 | { | 157 | { |
| 158 | long gpnum; | ||
| 158 | int level = 0; | 159 | int level = 0; |
| 160 | int phase; | ||
| 159 | struct rcu_node *rnp; | 161 | struct rcu_node *rnp; |
| 160 | 162 | ||
| 163 | gpnum = rsp->gpnum; | ||
| 161 | seq_printf(m, "c=%ld g=%ld s=%d jfq=%ld j=%x " | 164 | seq_printf(m, "c=%ld g=%ld s=%d jfq=%ld j=%x " |
| 162 | "nfqs=%lu/nfqsng=%lu(%lu) fqlh=%lu\n", | 165 | "nfqs=%lu/nfqsng=%lu(%lu) fqlh=%lu oqlen=%ld\n", |
| 163 | rsp->completed, rsp->gpnum, rsp->signaled, | 166 | rsp->completed, gpnum, rsp->signaled, |
| 164 | (long)(rsp->jiffies_force_qs - jiffies), | 167 | (long)(rsp->jiffies_force_qs - jiffies), |
| 165 | (int)(jiffies & 0xffff), | 168 | (int)(jiffies & 0xffff), |
| 166 | rsp->n_force_qs, rsp->n_force_qs_ngp, | 169 | rsp->n_force_qs, rsp->n_force_qs_ngp, |
| 167 | rsp->n_force_qs - rsp->n_force_qs_ngp, | 170 | rsp->n_force_qs - rsp->n_force_qs_ngp, |
| 168 | rsp->n_force_qs_lh); | 171 | rsp->n_force_qs_lh, rsp->orphan_qlen); |
| 169 | for (rnp = &rsp->node[0]; rnp - &rsp->node[0] < NUM_RCU_NODES; rnp++) { | 172 | for (rnp = &rsp->node[0]; rnp - &rsp->node[0] < NUM_RCU_NODES; rnp++) { |
| 170 | if (rnp->level != level) { | 173 | if (rnp->level != level) { |
| 171 | seq_puts(m, "\n"); | 174 | seq_puts(m, "\n"); |
| 172 | level = rnp->level; | 175 | level = rnp->level; |
| 173 | } | 176 | } |
| 174 | seq_printf(m, "%lx/%lx %d:%d ^%d ", | 177 | phase = gpnum & 0x1; |
| 178 | seq_printf(m, "%lx/%lx %c%c>%c%c %d:%d ^%d ", | ||
| 175 | rnp->qsmask, rnp->qsmaskinit, | 179 | rnp->qsmask, rnp->qsmaskinit, |
| 180 | "T."[list_empty(&rnp->blocked_tasks[phase])], | ||
| 181 | "E."[list_empty(&rnp->blocked_tasks[phase + 2])], | ||
| 182 | "T."[list_empty(&rnp->blocked_tasks[!phase])], | ||
| 183 | "E."[list_empty(&rnp->blocked_tasks[!phase + 2])], | ||
| 176 | rnp->grplo, rnp->grphi, rnp->grpnum); | 184 | rnp->grplo, rnp->grphi, rnp->grpnum); |
| 177 | } | 185 | } |
| 178 | seq_puts(m, "\n"); | 186 | seq_puts(m, "\n"); |
