aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/sgi-gru/grutables.h
diff options
context:
space:
mode:
authorJack Steiner <steiner@sgi.com>2009-12-15 19:48:12 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2009-12-16 10:20:16 -0500
commit563447d7eb04c9b382f90a132be126a21a635647 (patch)
tree66db9c281ed1b64fcdceab1beb34350339bf306c /drivers/misc/sgi-gru/grutables.h
parent4107e1d38a23028c2a3bc23dd948265dbe6becba (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.h18
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
256extern struct mcs_op_statistic mcs_op_statistics[mcsop_last]; 256extern 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...)