diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-02 15:13:06 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-02 15:13:06 -0400 |
| commit | c9bf1cf098c8ea4daeb3e6c9b274a9025c03045d (patch) | |
| tree | 91b1dc03fc3916a92e1c99bd91a6643842c62525 /kernel/gsp_sema_service.c | |
| parent | 7621dff1d3fba7bdb31b2b15abca1e5ff8ca4380 (diff) | |
| download | open-iov-c9bf1cf098c8ea4daeb3e6c9b274a9025c03045d.tar.gz open-iov-c9bf1cf098c8ea4daeb3e6c9b274a9025c03045d.zip | |
kernel: GR context-promote bisection modes 4-17 and server-managed-ctxbuf registry variant; complete vgsp rename; docs/tooling refresh
- gsp_phys_booter: GR promote bisection modes 4-17 (two-phase zero-field VA,
batched entries, hVirtMemory, bare VA, KMD SKIP_CTXBUFFER_ALLOC channel,
old-interface GPU_INITIALIZE_CTX, FBMEM context buffer, UVM-faithful PA-only,
PATCH/PM auxiliary promotes, server-managed no-promote path); PATCH/PM
geometry queries and buffers; pre-boot SET_REGISTRY profile selection
- gsp_phys_gpu: gsp_phys_rmcall_gr_promote clamp 0..17 and gsp_phys_srv_ctxbuf
parameter; registry image variant with RMSetClientRMAllocatedCtxBuffer=0
- vgsp rename across kernel, scripts, tools and docs (module vgsp.ko,
/sys/kernel/debug/vgsp/, vgsp-<subsystem>: log prefixes)
- risc-v-gsp-rm-debugger user-facing rename and docs/CI refresh; guest-diag
tool updates; README/SBOM/install/Makefile sync
Live status: CE ladder and P6 guest-copy forwarding green; GR engine context
commit still open (all promote shapes accepted or cleanly refused; the channel
stays CTXNOTVALID) - see Handoff-vGPU-IO.md Addendum 21 (local).
Diffstat (limited to 'kernel/gsp_sema_service.c')
| -rw-r--r-- | kernel/gsp_sema_service.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/kernel/gsp_sema_service.c b/kernel/gsp_sema_service.c index d42edab..ae74881 100644 --- a/kernel/gsp_sema_service.c +++ b/kernel/gsp_sema_service.c @@ -30,7 +30,7 @@ * open-iov/docs/03-architecture/06-host-module-and-hybrid-model.md. */ -#define pr_fmt(fmt) "gsp-resman-vfio: " fmt +#define pr_fmt(fmt) "vgsp-sema: " fmt #include <linux/kthread.h> #include <linux/bitmap.h> @@ -6072,7 +6072,7 @@ static void svc_fwd_fault_deliver(struct nv_vgpu_device *vgpu, if (f->runlist_id != want_rl || f->chid != want_chid) { svc.fwd_fault_unmatched++; if ((svc.fwd_fault_unmatched & 15) == 1) - pr_info("gsp-phys-fault: FAULT RELAY refused ch=0x%x hwchid=%u rl=%u want_chid=%u want_rl=%u except=0x%x unmatched=%llu\n", + pr_info("vgsp-fault: FAULT RELAY refused ch=0x%x hwchid=%u rl=%u want_chid=%u want_rl=%u except=0x%x unmatched=%llu\n", ch->h_object, f->chid, f->runlist_id, want_chid, want_rl, f->except_type, svc.fwd_fault_unmatched); @@ -6090,7 +6090,7 @@ static void svc_fwd_fault_deliver(struct nv_vgpu_device *vgpu, rr = &svc_fwd_hold.rel[svc_fwd_hold.relay_index]; if (rr && !svc_sem_read(vgpu, rr->va, &cur) && cur >= rr->payload) { svc.fwd_fault_late_release++; - pr_info("gsp-phys-fault: FAULT RELAY late release ch=0x%x sem=0x%08x payload=0x%08x late_release=%llu\n", + pr_info("vgsp-fault: FAULT RELAY late release ch=0x%x sem=0x%08x payload=0x%08x late_release=%llu\n", ch->h_object, cur, rr->payload, svc.fwd_fault_late_release); return; @@ -6108,7 +6108,7 @@ static void svc_fwd_fault_deliver(struct nv_vgpu_device *vgpu, ret = svc_write_ap(vgpu, ch->notifier_pa, ch->notifier_as, notif, sizeof(notif)); if (ret) { - pr_err_ratelimited("gsp-phys-fault: FAULT RELAY notifier write failed ch=0x%x pa=0x%llx as=%u ret=%d\n", + pr_err_ratelimited("vgsp-fault: FAULT RELAY notifier write failed ch=0x%x pa=0x%llx as=%u ret=%d\n", ch->h_object, ch->notifier_pa, ch->notifier_as, ret); return; @@ -6119,7 +6119,7 @@ static void svc_fwd_fault_deliver(struct nv_vgpu_device *vgpu, ch->notifier_err_put = ch->put_prev; svc.fwd_fault_delivered++; if ((svc.fwd_fault_delivered & 15) == 1) - pr_info("gsp-phys-fault: FAULT RELAY ch=0x%x hwchid=%u rl=%u except=0x%x engine=%u delivered=%llu\n", + pr_info("vgsp-fault: FAULT RELAY ch=0x%x hwchid=%u rl=%u except=0x%x engine=%u delivered=%llu\n", ch->h_object, f->chid, f->runlist_id, f->except_type, engine, svc.fwd_fault_delivered); /* @@ -6141,7 +6141,7 @@ static void svc_fwd_fault_deliver(struct nv_vgpu_device *vgpu, else why = "event-post-send-failed"; svc.fwd_fault_no_event++; - pr_info("gsp-phys-fault: FAULT RELAY no event ch=0x%x hwchid=%u rl=%u except=0x%x reason=%s ret=%d no_event=%llu\n", + pr_info("vgsp-fault: FAULT RELAY no event ch=0x%x hwchid=%u rl=%u except=0x%x reason=%s ret=%d no_event=%llu\n", ch->h_object, f->chid, f->runlist_id, f->except_type, why, ret, svc.fwd_fault_no_event); } @@ -6269,7 +6269,7 @@ static bool svc_fwd_hold_poll(struct nv_vgpu_device *vgpu, svc_fwd_hold.nrel); svc.fwd_rel_applied++; if ((svc.fwd_relay_verify_fail & 15) == 1) - pr_err("gsp-phys-work: RELAY VERIFY FAILED: guest sem va=0x%llx cur=0x%08x payload=0x%08x; software applied all releases\n", + pr_err("vgsp-work: RELAY VERIFY FAILED: guest sem va=0x%llx cur=0x%08x payload=0x%08x; software applied all releases\n", rr->va, cur, rr->payload); } } else { @@ -6490,7 +6490,7 @@ static void svc_fwd_work_fn(struct work_struct *work) hw_rc = -EINVAL; svc.fwd_relay_resolve_fail++; if (svc.fwd_relay_resolve_fail <= 16) - pr_info("gsp-phys-work: relay semaphore resolve failed: kind=%u page=0x%llx off=%u rc=%d; software release stays authoritative\n", + pr_info("vgsp-work: relay semaphore resolve failed: kind=%u page=0x%llx off=%u rc=%d; software release stays authoritative\n", svc_fwd_req.relay_kind, svc_fwd_req.relay_page, svc_fwd_req.relay_off, sem_rc); @@ -6513,7 +6513,7 @@ static void svc_fwd_work_fn(struct work_struct *work) svc.fwd_guest_resolve_fail++; svc.fwd_guest_resolve_log++; if (svc.fwd_guest_resolve_log <= 16) - pr_info("gsp-phys-work: guest candidate resolve failed: src kind=%u pa=0x%llx off=%u rc=%d dst kind=%u pa=0x%llx off=%u rc=%d vgpu=%d bytes=%u\n", + pr_info("vgsp-work: guest candidate resolve failed: src kind=%u pa=0x%llx off=%u rc=%d dst kind=%u pa=0x%llx off=%u rc=%d vgpu=%d bytes=%u\n", svc_fwd_req.src_kind, svc_fwd_req.src_page, svc_fwd_req.src_off, src_rc, @@ -6533,7 +6533,7 @@ static void svc_fwd_work_fn(struct work_struct *work) if (hw_rc) { svc.fwd_guest_fallback++; if ((svc.fwd_guest_fallback & SVC_FWD_LOG_MASK) == 1) - pr_info("gsp-phys-work: guest copy failed rc=%d, held releases will be applied by the service (req=%llu ok=%llu fallback=%llu resolve_fail=%llu)\n", + pr_info("vgsp-work: guest copy failed rc=%d, held releases will be applied by the service (req=%llu ok=%llu fallback=%llu resolve_fail=%llu)\n", hw_rc, svc.fwd_guest_req, svc.fwd_guest_ok, svc.fwd_guest_fallback, @@ -6557,7 +6557,7 @@ static void svc_fwd_work_fn(struct work_struct *work) } svc.fwd_guest_fallback++; if ((svc.fwd_guest_fallback & SVC_FWD_LOG_MASK) == 1) - pr_info("gsp-phys-work: guest copy fell back to the ladder copy (req=%llu ok=%llu fallback=%llu resolve_fail=%llu)\n", + pr_info("vgsp-work: guest copy fell back to the ladder copy (req=%llu ok=%llu fallback=%llu resolve_fail=%llu)\n", svc.fwd_guest_req, svc.fwd_guest_ok, svc.fwd_guest_fallback, svc.fwd_guest_resolve_fail); @@ -6572,7 +6572,7 @@ static void svc_fwd_work_fn(struct work_struct *work) &bytes)) { svc_fwd_dropped++; if ((svc_fwd_dropped & SVC_FWD_LOG_MASK) == 1) - pr_info("gsp-phys-work: shadow copy dropped before submit (backend not ready) dropped=%llu\n", + pr_info("vgsp-work: shadow copy dropped before submit (backend not ready) dropped=%llu\n", svc_fwd_dropped); clear_bit_unlock(SVC_FWD_INFLIGHT, &svc_fwd_state); return; @@ -6581,7 +6581,7 @@ static void svc_fwd_work_fn(struct work_struct *work) ret = gsp_phys_backend_ce_copy_submit(src_va, dst_va, sem_va, bytes, GSP_PHYS_BACKEND_WORK_POLL_MS); if (!ret) - pr_info("gsp-phys-work: REAL CE COPY OK bytes=%u elapsed=%u ms (requests=%llu dropped=%llu)\n", + pr_info("vgsp-work: REAL CE COPY OK bytes=%u elapsed=%u ms (requests=%llu dropped=%llu)\n", bytes, jiffies_to_msecs(jiffies - start), svc_fwd_requests, svc_fwd_dropped); /* Timeout/refusal counters and their rate-limited logs are in the @@ -6659,7 +6659,7 @@ static bool svc_fwd_request(struct nv_vgpu_device *vgpu, if (!gsp_phys_backend_work_ready()) { svc_fwd_dropped++; if ((svc_fwd_dropped & SVC_FWD_LOG_MASK) == 1) - pr_info("gsp-phys-work: shadow request dropped (backend not ready) dropped=%llu\n", + pr_info("vgsp-work: shadow request dropped (backend not ready) dropped=%llu\n", svc_fwd_dropped); return false; } @@ -6671,7 +6671,7 @@ static bool svc_fwd_request(struct nv_vgpu_device *vgpu, if (svc_fwd_hold.active) { svc_fwd_dropped++; if ((svc_fwd_dropped & SVC_FWD_LOG_MASK) == 1) - pr_info("gsp-phys-work: shadow request dropped (release hold active) dropped=%llu\n", + pr_info("vgsp-work: shadow request dropped (release hold active) dropped=%llu\n", svc_fwd_dropped); return false; } @@ -6680,7 +6680,7 @@ static bool svc_fwd_request(struct nv_vgpu_device *vgpu, mutex_unlock(&svc_fwd_lock); svc_fwd_dropped++; if ((svc_fwd_dropped & SVC_FWD_LOG_MASK) == 1) - pr_info("gsp-phys-work: shadow request dropped (forwarding paused for release) dropped=%llu\n", + pr_info("vgsp-work: shadow request dropped (forwarding paused for release) dropped=%llu\n", svc_fwd_dropped); return false; } @@ -6688,7 +6688,7 @@ static bool svc_fwd_request(struct nv_vgpu_device *vgpu, mutex_unlock(&svc_fwd_lock); svc_fwd_dropped++; if ((svc_fwd_dropped & SVC_FWD_LOG_MASK) == 1) - pr_info("gsp-phys-work: shadow request dropped (one in flight) dropped=%llu\n", + pr_info("vgsp-work: shadow request dropped (one in flight) dropped=%llu\n", svc_fwd_dropped); return false; } |
