diff options
author | Jack Steiner <steiner@sgi.com> | 2009-12-15 19:48:05 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-16 10:20:15 -0500 |
commit | 55484c45dbeca2eec7642932ec3f60f8a2d4bdbf (patch) | |
tree | 4927e959a656def901bb105605df4ab6977ab2d1 /drivers/misc/sgi-gru/grufault.c | |
parent | 518e5cd4aae476042bdee511e0e00c8670c0df42 (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.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/drivers/misc/sgi-gru/grufault.c b/drivers/misc/sgi-gru/grufault.c index a69d119921ff..321ad809f345 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: |