aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/sgi-gru/gruprocfs.c
diff options
context:
space:
mode:
authorJack Steiner <steiner@sgi.com>2009-12-15 19:48:13 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2009-12-16 10:20:16 -0500
commitc550222f64265c9384c45d7f691445386025a82b (patch)
tree562d45bf656c8bafc9c0dd5b3897dba5da6ae9a3 /drivers/misc/sgi-gru/gruprocfs.c
parent57ebb0342c12f00e7a6d15ba59bb6c3ee501c3af (diff)
gru: preload tlb for bcopy instructions
Add anticipatory TLB dropins for GRU TLB misses that occur on BCOPY instructions that copy large amounts of data. 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/gruprocfs.c')
-rw-r--r--drivers/misc/sgi-gru/gruprocfs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/misc/sgi-gru/gruprocfs.c b/drivers/misc/sgi-gru/gruprocfs.c
index 0a57ab29cd30..54a5a1c35ad1 100644
--- a/drivers/misc/sgi-gru/gruprocfs.c
+++ b/drivers/misc/sgi-gru/gruprocfs.c
@@ -76,6 +76,7 @@ static int statistics_show(struct seq_file *s, void *p)
76 printstat(s, check_context_retarget_intr); 76 printstat(s, check_context_retarget_intr);
77 printstat(s, check_context_unload); 77 printstat(s, check_context_unload);
78 printstat(s, tlb_dropin); 78 printstat(s, tlb_dropin);
79 printstat(s, tlb_preload_page);
79 printstat(s, tlb_dropin_fail_no_asid); 80 printstat(s, tlb_dropin_fail_no_asid);
80 printstat(s, tlb_dropin_fail_upm); 81 printstat(s, tlb_dropin_fail_upm);
81 printstat(s, tlb_dropin_fail_invalid); 82 printstat(s, tlb_dropin_fail_invalid);
@@ -127,7 +128,8 @@ static int mcs_statistics_show(struct seq_file *s, void *p)
127 int op; 128 int op;
128 unsigned long total, count, max; 129 unsigned long total, count, max;
129 static char *id[] = {"cch_allocate", "cch_start", "cch_interrupt", 130 static char *id[] = {"cch_allocate", "cch_start", "cch_interrupt",
130 "cch_interrupt_sync", "cch_deallocate", "tgh_invalidate"}; 131 "cch_interrupt_sync", "cch_deallocate", "tfh_write_only",
132 "tfh_write_restart", "tgh_invalidate"};
131 133
132 seq_printf(s, "%-20s%12s%12s%12s\n", "#id", "count", "aver-clks", "max-clks"); 134 seq_printf(s, "%-20s%12s%12s%12s\n", "#id", "count", "aver-clks", "max-clks");
133 for (op = 0; op < mcsop_last; op++) { 135 for (op = 0; op < mcsop_last; op++) {