diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-04 07:49:31 -0500 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-04 07:49:31 -0500 |
| commit | 34cac6163d06ebd47e0e7336888fe3b84ce9c30f (patch) | |
| tree | 9d6f3a5b0d21cfe87991f6ce2f00ad7e97a2d157 /kernel/gsp_phys_booter.h | |
| parent | 78b2ddd3ac93fc4db8769a0bb5def898ee3f3943 (diff) | |
| download | open-iov-34cac6163d06ebd47e0e7336888fe3b84ce9c30f.tar.gz open-iov-34cac6163d06ebd47e0e7336888fe3b84ce9c30f.zip | |
vgsp-mme: CONT-118 strict release + FE-busy deferral - sema_gl_mme_hold_strict (calls release only when pre_words_out==0 && fe_idle() && live_gen==pl_gen) and sema_gl_mme_fe_defer (busy-defer the load-only carrier at svc_gr_request before fill/consume, bounded 4 consecutive defers/gen with GIVEUP log) - both default 1, independent live A/B, 0 = legacy-equivalent
Diffstat (limited to 'kernel/gsp_phys_booter.h')
| -rw-r--r-- | kernel/gsp_phys_booter.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/gsp_phys_booter.h b/kernel/gsp_phys_booter.h index 6f4d1ea..5ae5ae6 100644 --- a/kernel/gsp_phys_booter.h +++ b/kernel/gsp_phys_booter.h @@ -528,6 +528,15 @@ bool gsp_phys_gr_quiet_hold_active(void); int gsp_phys_backend_guest_gr_submit(const struct gsp_phys_gr_submit *req, struct gsp_phys_backend_copy_result *out); +/* + * r1445 5c: true when a 3D stream launch (h_object / win3d_n identify the + * window) would become a load-only MME carrier while the GR front-end is + * not idle; the service's request gate then busy-defers (nothing emitted + * or submitted, no release authored, candidate retried). Bounded per + * prelude generation internally; sema_gl_mme_fe_defer=0 makes it a no-op. + */ +bool gsp_phys_gr_mme_fe_defer_wanted(u32 h_object, u32 win3d_n); + /* GR forwarding counters (submitted/verified/cancelled), plain reads. */ void gsp_phys_backend_gr_counters(u64 *submitted, u64 *ok, u64 *refused, u64 *timed_out, u64 *pool_exhausted); |
