diff options
author | Jack Steiner <steiner@sgi.com> | 2009-12-15 19:48:12 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-16 10:20:16 -0500 |
commit | 563447d7eb04c9b382f90a132be126a21a635647 (patch) | |
tree | 66db9c281ed1b64fcdceab1beb34350339bf306c /drivers/misc/sgi-gru/grutables.h | |
parent | 4107e1d38a23028c2a3bc23dd948265dbe6becba (diff) |
gru: add additional GRU statistics
Add additional GRU statistics & debug messages.
Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/misc/sgi-gru/grutables.h')
-rw-r--r-- | drivers/misc/sgi-gru/grutables.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/misc/sgi-gru/grutables.h b/drivers/misc/sgi-gru/grutables.h index d83e36715e6b..76fe2987fc9f 100644 --- a/drivers/misc/sgi-gru/grutables.h +++ b/drivers/misc/sgi-gru/grutables.h | |||
@@ -171,7 +171,8 @@ struct gru_stats_s { | |||
171 | atomic_long_t vdata_free; | 171 | atomic_long_t vdata_free; |
172 | atomic_long_t gts_alloc; | 172 | atomic_long_t gts_alloc; |
173 | atomic_long_t gts_free; | 173 | atomic_long_t gts_free; |
174 | atomic_long_t vdata_double_alloc; | 174 | atomic_long_t gms_alloc; |
175 | atomic_long_t gms_free; | ||
175 | atomic_long_t gts_double_allocate; | 176 | atomic_long_t gts_double_allocate; |
176 | atomic_long_t assign_context; | 177 | atomic_long_t assign_context; |
177 | atomic_long_t assign_context_failed; | 178 | atomic_long_t assign_context_failed; |
@@ -184,15 +185,15 @@ struct gru_stats_s { | |||
184 | atomic_long_t steal_kernel_context; | 185 | atomic_long_t steal_kernel_context; |
185 | atomic_long_t steal_context_failed; | 186 | atomic_long_t steal_context_failed; |
186 | atomic_long_t nopfn; | 187 | atomic_long_t nopfn; |
187 | atomic_long_t break_cow; | ||
188 | atomic_long_t asid_new; | 188 | atomic_long_t asid_new; |
189 | atomic_long_t asid_next; | 189 | atomic_long_t asid_next; |
190 | atomic_long_t asid_wrap; | 190 | atomic_long_t asid_wrap; |
191 | atomic_long_t asid_reuse; | 191 | atomic_long_t asid_reuse; |
192 | atomic_long_t intr; | 192 | atomic_long_t intr; |
193 | atomic_long_t intr_cbr; | ||
194 | atomic_long_t intr_tfh; | ||
193 | atomic_long_t intr_mm_lock_failed; | 195 | atomic_long_t intr_mm_lock_failed; |
194 | atomic_long_t call_os; | 196 | atomic_long_t call_os; |
195 | atomic_long_t call_os_check_for_bug; | ||
196 | atomic_long_t call_os_wait_queue; | 197 | atomic_long_t call_os_wait_queue; |
197 | atomic_long_t user_flush_tlb; | 198 | atomic_long_t user_flush_tlb; |
198 | atomic_long_t user_unload_context; | 199 | atomic_long_t user_unload_context; |
@@ -208,11 +209,9 @@ struct gru_stats_s { | |||
208 | atomic_long_t tlb_dropin_fail_idle; | 209 | atomic_long_t tlb_dropin_fail_idle; |
209 | atomic_long_t tlb_dropin_fail_fmm; | 210 | atomic_long_t tlb_dropin_fail_fmm; |
210 | atomic_long_t tlb_dropin_fail_no_exception; | 211 | atomic_long_t tlb_dropin_fail_no_exception; |
211 | atomic_long_t tlb_dropin_fail_no_exception_war; | ||
212 | atomic_long_t tfh_stale_on_fault; | 212 | atomic_long_t tfh_stale_on_fault; |
213 | atomic_long_t mmu_invalidate_range; | 213 | atomic_long_t mmu_invalidate_range; |
214 | atomic_long_t mmu_invalidate_page; | 214 | atomic_long_t mmu_invalidate_page; |
215 | atomic_long_t mmu_clear_flush_young; | ||
216 | atomic_long_t flush_tlb; | 215 | atomic_long_t flush_tlb; |
217 | atomic_long_t flush_tlb_gru; | 216 | atomic_long_t flush_tlb_gru; |
218 | atomic_long_t flush_tlb_gru_tgh; | 217 | atomic_long_t flush_tlb_gru_tgh; |
@@ -231,7 +230,7 @@ struct gru_stats_s { | |||
231 | atomic_long_t mesq_send_qlimit_reached; | 230 | atomic_long_t mesq_send_qlimit_reached; |
232 | atomic_long_t mesq_send_amo_nacked; | 231 | atomic_long_t mesq_send_amo_nacked; |
233 | atomic_long_t mesq_send_put_nacked; | 232 | atomic_long_t mesq_send_put_nacked; |
234 | atomic_long_t mesq_qf_not_full; | 233 | atomic_long_t mesq_page_overflow; |
235 | atomic_long_t mesq_qf_locked; | 234 | atomic_long_t mesq_qf_locked; |
236 | atomic_long_t mesq_qf_noop_not_full; | 235 | atomic_long_t mesq_qf_noop_not_full; |
237 | atomic_long_t mesq_qf_switch_head_failed; | 236 | atomic_long_t mesq_qf_switch_head_failed; |
@@ -241,6 +240,7 @@ struct gru_stats_s { | |||
241 | atomic_long_t mesq_noop_qlimit_reached; | 240 | atomic_long_t mesq_noop_qlimit_reached; |
242 | atomic_long_t mesq_noop_amo_nacked; | 241 | atomic_long_t mesq_noop_amo_nacked; |
243 | atomic_long_t mesq_noop_put_nacked; | 242 | atomic_long_t mesq_noop_put_nacked; |
243 | atomic_long_t mesq_noop_page_overflow; | ||
244 | 244 | ||
245 | }; | 245 | }; |
246 | 246 | ||
@@ -255,8 +255,8 @@ struct mcs_op_statistic { | |||
255 | 255 | ||
256 | extern struct mcs_op_statistic mcs_op_statistics[mcsop_last]; | 256 | extern struct mcs_op_statistic mcs_op_statistics[mcsop_last]; |
257 | 257 | ||
258 | #define OPT_DPRINT 1 | 258 | #define OPT_DPRINT 1 |
259 | #define OPT_STATS 2 | 259 | #define OPT_STATS 2 |
260 | 260 | ||
261 | 261 | ||
262 | #define IRQ_GRU 110 /* Starting IRQ number for interrupts */ | 262 | #define IRQ_GRU 110 /* Starting IRQ number for interrupts */ |
@@ -279,7 +279,7 @@ extern struct mcs_op_statistic mcs_op_statistics[mcsop_last]; | |||
279 | #define gru_dbg(dev, fmt, x...) \ | 279 | #define gru_dbg(dev, fmt, x...) \ |
280 | do { \ | 280 | do { \ |
281 | if (gru_options & OPT_DPRINT) \ | 281 | if (gru_options & OPT_DPRINT) \ |
282 | dev_dbg(dev, "%s: " fmt, __func__, x); \ | 282 | printk(KERN_DEBUG "GRU:%d %s: " fmt, smp_processor_id(), __func__, x);\ |
283 | } while (0) | 283 | } while (0) |
284 | #else | 284 | #else |
285 | #define gru_dbg(x...) | 285 | #define gru_dbg(x...) |