From 0f5322fe8221ca8b4b5ccc1a6d2c862679472403 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Mon, 5 Oct 2026 07:00:45 -0400 Subject: vgsp: hold every unreadable CE entry for the grace; delete the silent pre-rescue fake An unreadable CE entry whose channel already had a decoded release VA was faked immediately and consumed with no log line, before any rescue attempt. A later pin-batch rewind then executed the skipped copy against a staging buffer the client had since refilled - the deterministic vadd input shift seen in runs 94/122/151/173b/215b, each with a silent pre-rescue fake. Now every unreadable CE entry with an expected payload is held for the bounded grace and the rescue is retried on each pass, so a translation that is still coming wins and the work runs before the release. Only an entry whose release was already delivered (the channel moved past entry_want) is consumed at once; the post-rescue fake remains the bounded, visible escape. The CE grace default moves 15000 -> 25000 ms (a translation arrived ~17 s after first examination in 215b). Under live campaign 229-236 (module 97eba5b7; green so far). --- kernel/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'kernel/main.c') diff --git a/kernel/main.c b/kernel/main.c index 1732ad8..7028bdd 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -2659,7 +2659,7 @@ MODULE_PARM_DESC(sema_copy_dst2, "Second destination window for sema_copy_dst (d * a service pass. */ module_param_named(sema_ce_grace_ms, gsp_sema_ce_grace_ms, uint, 0644); -MODULE_PARM_DESC(sema_ce_grace_ms, "CE pending-entry grace window in ms (default 15000)"); +MODULE_PARM_DESC(sema_ce_grace_ms, "CE pending-entry grace window in ms (default 25000)"); /* * Bounded work-before-release hold (ms) for an unreadable CE entry; the -- cgit v1.2.3