diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-29 13:52:49 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-29 13:52:49 -0400 |
| commit | 6e0efb5bb1282c673f0b4ea0eba0022cbb16ab31 (patch) | |
| tree | bbff5f338d3f595e74e238b95d9efaab27e3d9b8 /kernel/bar_init.c | |
| parent | ed7cbc582a5602db46932917df002c0d31fdb8fb (diff) | |
| download | open-iov-6e0efb5bb1282c673f0b4ea0eba0022cbb16ab31.tar.gz open-iov-6e0efb5bb1282c673f0b4ea0eba0022cbb16ab31.zip | |
kernel: authoritative host-injected VA->PA pins (ipin table) + wider pin table
The CE push-buffer page 0x120000000 resolved to a zero-filled page even after
sema_map_add injected the correct translation: the shared pin table silently
dropped inserts once a hash cluster exceeded the 32-probe window (the page
hashes to slot 0, a hot cluster), and lookups fell through to the
content-scanned map and answered with a stale page - so every CE push read as
implausible and memset stayed 0. Injected translations now live in a separate
authoritative table checked before every other source and are never written by
self-discovery; the general pin table is 4x larger with a 4x probe window and
counts drops (pin_drop/ipin_drop) in the stats line. guest_kprobes.sh disables
the kprobe group before removal (EBUSY) and matches p:kprobes/<name>; the
guest wait sampler can run counters-only with GDB=0.
Diffstat (limited to 'kernel/bar_init.c')
0 files changed, 0 insertions, 0 deletions
