diff --git a/pageserver/src/walredo.rs b/pageserver/src/walredo.rs
index dc0968250b..f4fa2f04a3 100644
--- a/pageserver/src/walredo.rs
+++ b/pageserver/src/walredo.rs
@@ -32,6 +32,7 @@ use std::os::unix::io::AsRawFd;
use std::path::PathBuf;
use std::process::Stdio;
use std::process::{Child, ChildStderr, ChildStdin, ChildStdout, Command};
+use std::sync::atomic::{AtomicUsize, Ordering};
use std::sync::Mutex;
use std::time::Duration;
use std::time::Instant;
@@ -53,6 +54,8 @@ use postgres_ffi::nonrelfile_utils::transaction_id_set_status;
use postgres_ffi::pg_constants;
use postgres_ffi::XLogRecord;
+const N_WAL_REDO_PROCS: usize = 1;
+
///
/// `RelTag` + block number (`blknum`) gives us a unique id of the page in the cluster.
///
@@ -139,7 +142,8 @@ pub struct PostgresRedoManager {
tenantid: ZTenantId,
conf: &'static PageServerConf,
- process: Mutex