diff options
author | Jack Steiner <steiner@sgi.com> | 2009-12-15 19:48:13 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-16 10:20:16 -0500 |
commit | c550222f64265c9384c45d7f691445386025a82b (patch) | |
tree | 562d45bf656c8bafc9c0dd5b3897dba5da6ae9a3 /drivers/misc/sgi-gru/gruprocfs.c | |
parent | 57ebb0342c12f00e7a6d15ba59bb6c3ee501c3af (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.c | 4 |
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++) { |