diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-29 16:37:02 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-29 16:37:02 -0400 |
| commit | 1ad8556e8ed81ab91bf74ebc76681f350ca8bf6f (patch) | |
| tree | a5cd80f03cdeb8cf93f8aefd69171f6e23cc83db /kernel/memory.c | |
| parent | 5b80f3d5e1b9a597a7e7e0d761a5fa8b5804dbc1 (diff) | |
| download | open-iov-1ad8556e8ed81ab91bf74ebc76681f350ca8bf6f.tar.gz open-iov-1ad8556e8ed81ab91bf74ebc76681f350ca8bf6f.zip | |
sema-svc: GR counter slots only from injected pins; route GR releases through the exact slot
Live evidence: with the counter page pinned, counter_pa still resolved to a
stale self-discovered page, so every release write went to memory the client
never polls (host read back its own 1s; client's page stayed 0) and the
client's context-init wait expired. The generic release path could also write
through that stale translation.
- svc_counter_autoreg / svc_counter_learn trust only the injected-pin table
(svc_ipin_lookup); learn re-registers when the injected PA differs.
- Releases whose target is in the GR counter VA range skip the generic
translation write entirely and go through the injected-pin-backed slot.
Diffstat (limited to 'kernel/memory.c')
0 files changed, 0 insertions, 0 deletions
