This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hurd".
The branch, master has been updated
via 0a6ffd3a36e37569cc3fd6d14e0c7789c7e6a9e7 (commit)
from 31859e9ce47c164bc6625f93619ef76c80ab724f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 0a6ffd3a36e37569cc3fd6d14e0c7789c7e6a9e7
Author: Milos Nikic <[email protected]>
Date: Wed Sep 30 21:00:08 2026 -0700
ext2fs: Rework intercept cache in the journal.
This patch replaces the fixed-size, bitmask-managed Lifeboat array with an
O(1) intrusive linked-list allocator tied directly to the transaction map.
Previously, when the Mach VM pager rushed a block locked by an active
transaction, the payload was intercepted and stored in a global array
indexed via an 8-slot `uint64_t` bitmask. This approach required expensive
index lookups, O(N) allocation loops, and compare-and-swap checks during
physical flushing to avoid race conditions.
By embedding an intercepted_data pointer directly into journal_buffer_t,
the intercepted memory is now exclusively owned by the transaction itself.
The global array is replaced with a simple, pre-allocated linked list of
4KB chunks, granting O(1) push/pop allocations and entirely eliminating
index collision hazards.
Cache coherence in journal_store_read is preserved by checking the
`RUNNING` transaction's pointers before the COMMITTING transaction's
pointers, natively shadowing older intercepted data.
Message-ID: <[email protected]>
-----------------------------------------------------------------------
Summary of changes:
ext2fs/journal.c | 356 ++++++++++++++++++++++++-------------------------------
1 file changed, 155 insertions(+), 201 deletions(-)
hooks/post-receive
--
Hurd