diff options
| -rw-r--r-- | kernel/gsp_sema_service.c | 18 | ||||
| -rwxr-xr-x | tools/cuda-ab/push_battery.sh | 2 |
2 files changed, 18 insertions, 2 deletions
diff --git a/kernel/gsp_sema_service.c b/kernel/gsp_sema_service.c index 42e8d76..22eccb7 100644 --- a/kernel/gsp_sema_service.c +++ b/kernel/gsp_sema_service.c @@ -11700,7 +11700,23 @@ static void svc_session_flush(void) } svc_gr_diag_reset(); /* m150: per-session diagnostic budgets */ - svc.map_n = 0; + /* + * r532: the learned map is NOT wiped here. The flush fires when the + * channel table momentarily empties - which a live client's UVM + * channel cycling triggers - and wiping the map then left the + * client's already-resolved data VAs unresolvable until a rebuild + * scan re-found them, which it may not: r531 multikernel's operands + * (0x72a05a5...) went NO ENTRY 40+ s after the gen-12 flush (the + * rebuild restored 14-31 K entries without them) and the pump + * stalled for minutes with the client spinning; streams2/ + * streams_events then read back whole-page garbage. The map is a + * cache with a merge-on-rebuild contract (the fresh scan updates a + * VA it re-finds and appends the rest), so a re-compaction keeps it + * bounded without dropping live translations. Reused-VA correctness + * is carried by the ledger (the launch's own landing, r349), the + * pin-wins rule and the fresh scan - not by wholesale eviction. + */ + svc_map_finalize(); svc_pb_n = 0; svc_pd_found = 0; svc_pd_attempts = 0; diff --git a/tools/cuda-ab/push_battery.sh b/tools/cuda-ab/push_battery.sh index 644beba..0557238 100755 --- a/tools/cuda-ab/push_battery.sh +++ b/tools/cuda-ab/push_battery.sh @@ -6,7 +6,7 @@ set -u HERE="$(cd "$(dirname "$0")" && pwd)" RUN="$HERE/run" GUEST_DIR="${1:-/tmp}" -CLIENTS="victory_mail smiley vecadd_loop streams2 memcpy_roundtrip multikernel victory_saxpy victory_reduce victory_matmul victory_strided victory_memset2d victory_atomics victory_streams_events victory_math vector_add" +CLIENTS="victory_mail smiley vecadd_loop streams2 memcpy_roundtrip multikernel victory_saxpy victory_reduce victory_matmul victory_strided victory_memset2d victory_atomics victory_streams_events victory_math vector_add inplace_scale" export SSHPASS="${VGPU_GUEST_PASS:-ubuntu}" FILES="" for c in $CLIENTS; do [ -x "$RUN/$c" ] && FILES="$FILES $RUN/$c"; done |
