From 475181f8ffedc7291e217406cb9e545a2af4c07e Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Sat, 24 Oct 2026 12:34:14 -0400 Subject: vgsp-sema r620: r619's device-VA sem-write witness range used the 1 TiB SVC_VAS_FLOOR and silently excluded the 0x200000000-0x20fffffff VAS window (the release words it exists for) - use the window base so the r618-style write-target divergence is actually logged --- kernel/gsp_sema_service.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'kernel') diff --git a/kernel/gsp_sema_service.c b/kernel/gsp_sema_service.c index 3f50439..e76cb7a 100644 --- a/kernel/gsp_sema_service.c +++ b/kernel/gsp_sema_service.c @@ -4242,16 +4242,18 @@ static int svc_sem_write(struct nv_vgpu_device *vgpu, u32 h, u64 va, u32 val) * the read-back, so the second session's translations can be * compared with the first session's for the same VA. Bounded. * - * r619 diag: the same proof for NON-pool device-VA writes (>= the VAS - * floor; e.g. 0x20480fef0 push releases, 0x204827f7c QMD releases). - * The r618 hung math client read 0 at 0x20480fef0 while the host's - * deferred releases logged `cur` 97..105 on its own target - a - * write-target divergence that was invisible because this range - * never printed `pa`. Bounded per boot (512). + * r619 diag: the same proof for NON-pool device-VA writes (the VAS + * window >= 0x200000000; e.g. 0x20480fef0 push releases, 0x204827f7c + * QMD releases). The r618 hung math client read 0 at 0x20480fef0 + * while the host's deferred releases logged `cur` 97..105 on its own + * target - a write-target divergence that was invisible because this + * range never printed `pa`. r620: the first cut used the 1 TiB + * SVC_VAS_FLOOR and excluded this very window (no lines ever); + * bounded per boot (512). */ if (((va >= 0x79240000000ULL && va < 0x79260000000ULL && svc.sem_sw_log < 8192) || - (va >= SVC_VAS_FLOOR && !is_pool && sem_sw_dev_log < 512))) { + (va >= 0x200000000ULL && !is_pool && sem_sw_dev_log < 512))) { if (va >= 0x79240000000ULL && va < 0x79260000000ULL) svc.sem_sw_log++; else -- cgit v1.2.3