aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/sgi-gru/grufault.c
diff options
context:
space:
mode:
authorJack Steiner <steiner@sgi.com>2009-12-15 19:48:05 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2009-12-16 10:20:15 -0500
commit55484c45dbeca2eec7642932ec3f60f8a2d4bdbf (patch)
tree4927e959a656def901bb105605df4ab6977ab2d1 /drivers/misc/sgi-gru/grufault.c
parent518e5cd4aae476042bdee511e0e00c8670c0df42 (diff)
gru: allow users to specify gru chiplet 2
Add support to the GRU driver to allow users to specify the blade & chiplet for allocation of GRU contexts. Add new statistics for context loading/unloading/retargeting. Also deleted a few GRU stats that were no longer being unused. 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/grufault.c')
-rw-r--r--drivers/misc/sgi-gru/grufault.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/drivers/misc/sgi-gru/grufault.c b/drivers/misc/sgi-gru/grufault.c
index a69d119921f..321ad809f34 100644
--- a/drivers/misc/sgi-gru/grufault.c
+++ b/drivers/misc/sgi-gru/grufault.c
@@ -546,17 +546,7 @@ int gru_handle_user_call_os(unsigned long cb)
546 if (ucbnum >= gts->ts_cbr_au_count * GRU_CBR_AU_SIZE) 546 if (ucbnum >= gts->ts_cbr_au_count * GRU_CBR_AU_SIZE)
547 goto exit; 547 goto exit;
548 548
549 /* 549 gru_check_context_placement(gts);
550 * If force_unload is set, the UPM TLB fault is phony. The task
551 * has migrated to another node and the GSEG must be moved. Just
552 * unload the context. The task will page fault and assign a new
553 * context.
554 */
555 if (gts->ts_tgid_owner == current->tgid && gts->ts_blade >= 0 &&
556 gts->ts_blade != uv_numa_blade_id()) {
557 STAT(call_os_offnode_reference);
558 gts->ts_force_unload = 1;
559 }
560 550
561 /* 551 /*
562 * CCH may contain stale data if ts_force_cch_reload is set. 552 * CCH may contain stale data if ts_force_cch_reload is set.
@@ -771,6 +761,7 @@ int gru_set_context_option(unsigned long arg)
771 } else { 761 } else {
772 gts->ts_user_blade_id = req.val1; 762 gts->ts_user_blade_id = req.val1;
773 gts->ts_user_chiplet_id = req.val0; 763 gts->ts_user_chiplet_id = req.val0;
764 gru_check_context_placement(gts);
774 } 765 }
775 break; 766 break;
776 case sco_gseg_owner: 767 case sco_gseg_owner: