Applied, thanks!
Milos Nikic, le lun. 29 juin 2026 23:17:04 -0700, a ecrit:
> This should cover even the extreme cases of memory pressure for the cost
> of 2mb of memory, and this should make the journal WAL bypass exceedingly
> rare.
> ---
> ext2fs/journal.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/ext2fs/journal.c b/ext2fs/journal.c
> index 2625ea327..b05855b00 100644
> --- a/ext2fs/journal.c
> +++ b/ext2fs/journal.c
> @@ -118,9 +118,9 @@
> #define JOURNAL_WAIT(cond, j) \
> pthread_cond_wait((cond), &(j)->j_state_lock)
>
> -#define JRNL_LIFEBOAT_CAPACITY 128
> +#define JRNL_LIFEBOAT_CAPACITY 512
>
> -#define JRNL_LIFEBOAT_ALLOC_MASK_LEN 2
> +#define JRNL_LIFEBOAT_ALLOC_MASK_LEN 8
>
> /* Thread-Local Deferred Block Queue (The Checkpoint Circuit Breaker)
> *
> @@ -150,11 +150,11 @@ __thread int deferred_count = 0;
>
> struct journal_lifeboat
> {
> - /* 128 bits total: 0 means free, 1 means occupied.
> + /* 512 bits total: 0 means free, 1 means occupied.
> Protected by the main ext2_journal->j_state_lock. */
> uint64_t alloc_mask[JRNL_LIFEBOAT_ALLOC_MASK_LEN];
>
> - /* The pre-allocated payload pool (128 * 4KB = 512KB) */
> + /* The pre-allocated payload pool (512 * 4KB = 2MB) */
> char payloads[JRNL_LIFEBOAT_CAPACITY][4096];
> };
>
> --
> 2.54.0
>