diff options
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: |